Mam w programie zmienną o nazwie fuses. Do tej pory używałem jej bez problemu. Do czasu odczytania jej z eeprom.
Ku mojemu zdziwieniu zmienna o niemal identycznej nazwie, zadeklarowana tak samo działa. Dlaczego?
Odczyt eeprom przez zmienną pomocniczą to pomysł z jakiegoś forum. Z tym czy bez tego program staje w miejscu gdzie jest 'fuses = ...'
Najbardziej dziwi mnie to że wszystko od pół roku działało dobrze aż przestało kiedy wprowadziłem pare zmian w organizacji pamięci.
Zmienna fuses nie jest nigdzie indziej używana. Co ciekawe w programie mam więcej zmiennych tego typu w ten sam sposób zapisywanych i odczytywanych z eeprom. I tylko fuses robi problemy. W necie nie znalazłem nic na temat fuses jako słowa zastrzeżonego czy czegoś w tym stylu.
Zawiesza się tylko funkcja main. Timer migający diodą działa. Przed odczytaniem zmiennej kasuje całą pamięć EEPROM. O dziwo kiedy wcześniej podstawie tam jakąś wartość (np 0xAF) to odczyt jest poprawny. Jak są zera to coś nawala.
Ma ktoś pomysł co jest grane?
Ku mojemu zdziwieniu zmienna o niemal identycznej nazwie, zadeklarowana tak samo działa. Dlaczego?
unsigned char fuses2=0b10001111;
unsigned char fuses=0b10001111;
//----
unsigned char xxx;
xxx = eeprom_read_byte(FUSES_OFFSET);
fuses2 = xxx;
fuses = xxx; // ta linijka zawiesza program!Odczyt eeprom przez zmienną pomocniczą to pomysł z jakiegoś forum. Z tym czy bez tego program staje w miejscu gdzie jest 'fuses = ...'
Najbardziej dziwi mnie to że wszystko od pół roku działało dobrze aż przestało kiedy wprowadziłem pare zmian w organizacji pamięci.
Zmienna fuses nie jest nigdzie indziej używana. Co ciekawe w programie mam więcej zmiennych tego typu w ten sam sposób zapisywanych i odczytywanych z eeprom. I tylko fuses robi problemy. W necie nie znalazłem nic na temat fuses jako słowa zastrzeżonego czy czegoś w tym stylu.
Zawiesza się tylko funkcja main. Timer migający diodą działa. Przed odczytaniem zmiennej kasuje całą pamięć EEPROM. O dziwo kiedy wcześniej podstawie tam jakąś wartość (np 0xAF) to odczyt jest poprawny. Jak są zera to coś nawala.
Ma ktoś pomysł co jest grane?