Probleme mit #include <util/delay.h>

Gast #4169063
Lesenswert?

Hallo zusammen,

ich habe ein kleines Problem:
Ich benötige für ein kleines C-Programm auf einem Atmega8 die 
delay-Funktionen.
Nach dem Einbinden mit #include <util/delay.h>
kommt allerdings folgender Fehler:


1
 error: invalid storage class for function '_delay_loop_1'
2
 static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
3
                    ^
4
error: invalid storage class for function '_delay_loop_2'
5
 static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));

woher kommt das?
Gast #4169110
Lesenswert?

Joachim B. schrieb:
> g457 schrieb:
> irgendwie will er wohl nicht alles zeigen.

Muss er ja auch nicht unbedingt. Denn vor dem include muss noch ein 
anderer Fehler sitzen. Der Code würde auch ohne das include nicht 
compilieren.
Das Problem ist, warum er nach diesem schon vorher vorhandenen Fehler 
nicht fragt, noch ein include hinzufügt und dann nach dadurch erst 
hinzugekommenen Fehler fragt.

Naja.
Moderator #4169151
Lesenswert?

Klaus schrieb:
> Muss er ja auch nicht unbedingt. Denn vor dem include muss noch ein
> anderer Fehler sitzen. Der Code würde auch ohne das include nicht
> compilieren.

Der Fehler könnte auch dadurch zustande gekommen sein, dass er das
include im vorher korrekten Code an der falschen Stelle eingefügt hat,
bspw. so:

Vorher:
1
void f(void) {
2
}

Das kompiliert ohne Fehlermeldung.

Nachher:
1
void f(void) {
2
#include <util/delay.h>
3
}

Das ergibt eine Reihe von "invalid storage class"-Meldungen.
Gast #4169153
Lesenswert?

Yalu X. schrieb:
> Klaus schrieb:
>> Muss er ja auch nicht unbedingt. Denn vor dem include muss noch ein
>> anderer Fehler sitzen. Der Code würde auch ohne das include nicht
>> compilieren.
>
> Der Fehler könnte auch dadurch zustande gekommen sein, dass er das
> include im vorher korrekten Code an der falschen Stelle eingefügt hat,
> bspw. so:

Das ist auch möglich. Richtig. Ist mir so ähnlich dann auch durch den 
Kopf gegangen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren