Hallo zusammen, ich stehe derzeit vor folgendem Problem: Ich versuche ein Byte im EEPROM an einer bestimmten Adresse zu schreiben: Der Simulator zeigt dies beim mega88P nicht an. ich versuche ein Byte an einer bestimmten Stelle zu lesen: Sowohl AVR als auch der Simulator machen einen Neustart. WinAVR: 20071221 (zwar etwas älter - aber schöner und schlanker Code. mega88P wird unterstützt.) AVR-Studio: 4.13 SP2 (Die neue GUI gefällt mir weniger als die gewohnte ;-) Beispielcode: <code> #include <avr/eeprom.h> #include <avr/interrupt.h> #define EE_VALUE1 0x001 // Eine Bytevariable int main(void) { eeprom_write_byte((uint8_t*)EE_VALUE1, 0x11); sei(); PORTB= eeprom_read_byte((uint8_t*)EE_VALUE1); for (;;) { PORTB ^= (1<<3); } } </code> Es wäre nett, wenn einer von Euch eine Idee hätte. (Ich habe schon bei AVRFreaks und in der Bug-List gesucht, wurde aber nicht fündig.) Viele Grüße, Hendrik
kleiner Nachtrag: Dies geht natürlich auch nicht:
1 | uint8_t val= 0x11; |
2 | eeprom_write_byte((uint8_t*)EE_VALUE1, val); |
3 | sei(); |
4 | PORTB= eeprom_read_byte((uint8_t*)EE_VALUE1); |
Viele Grüße, Hendrik
Fehler gefunden: Es lag an einer zu alten WinAVR-Version. Mit der 20081124 funktioniert es. Ich versuche dann mal, den alten Optimierungs-Thread wiederzufinden... Viele Grüße, Hendrik
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.