tommy1977
18.09.2010, 15:06
Hallo,
ich nutze AVR-Studio 4 mit WinAVR und programmiere einen ATmega644PA.
Vor dem Hauptprogramm habe ich folgenden Befehl:
"volatile unsigned int EEPROM fahrenmaxeep = 0;"
Im Hauptprogramm dann diese Anweisung:
"if(eeprom_read_word(&fahrenmaxeep) == 0)"
Diese Anweisung soll nur checken, ob schon Daten abgelegt wurden, oder ob das erst noch gemacht werden muss (also, wenn Inhalt == 0). Damit mir der Compiler die Anweisung nicht wegoptimiert, habe ich oben "volatile" angegeben. Beim kompilieren erhalte ich wegen dieser if-Anweisung folgende Warnung:
"warning: passing argument 1 of '__eerd_word_m644pa' discards qualifiers from pointer target type"
Weiss einer von euch vielleicht, warum der qualifier "volatile" in diesem Fall nicht beachtet wird?
Danke!
Gruß,
Thomas
ich nutze AVR-Studio 4 mit WinAVR und programmiere einen ATmega644PA.
Vor dem Hauptprogramm habe ich folgenden Befehl:
"volatile unsigned int EEPROM fahrenmaxeep = 0;"
Im Hauptprogramm dann diese Anweisung:
"if(eeprom_read_word(&fahrenmaxeep) == 0)"
Diese Anweisung soll nur checken, ob schon Daten abgelegt wurden, oder ob das erst noch gemacht werden muss (also, wenn Inhalt == 0). Damit mir der Compiler die Anweisung nicht wegoptimiert, habe ich oben "volatile" angegeben. Beim kompilieren erhalte ich wegen dieser if-Anweisung folgende Warnung:
"warning: passing argument 1 of '__eerd_word_m644pa' discards qualifiers from pointer target type"
Weiss einer von euch vielleicht, warum der qualifier "volatile" in diesem Fall nicht beachtet wird?
Danke!
Gruß,
Thomas