Vkládání konstant

kral.j@centrum.cz kral.j@centrum.cz
Středa Červen 6 21:35:44 CEST 2007


Ještě jsem se nedopracoval konečného výsledku a tak něco o průběžném stavu. Doplňuji, že je to pro ATmega2560, používám AvrStudio v kombinaci s WinAvr.
Takže s pomocí  pgmspace.h se mi příkazem

const int8_t pole[] PROGMEM = {0x52, 0x61, 0x26};

podařilo uložit to pole do programové paměti. Ukládání je vždy od adresy 0x0074 a platí i pro jiné typy konstant. Když program spustím v simulátoru a najedu kurzorem na konstantu pole[ ], hláška mi tvrdošíjně tvrdí, že je uložena na adrese 0x00E4. No s tím se asi musím smířit. S čím se ale smířit nemohu je to, že nevím, jak načíst nějaký prvek konstanty do proměnné. Soudím že bych měl použít funkci memcpy_P( ), ale z manuálu nevím jak, resp. co předat za parametry. Můžete ještě někdo poradit?
Král




Další informace o konferenci Hw-list