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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.