Ukladani nastaveni v programu pro MCU
Jan Waclawek
konfera na efton.sk
Středa Červen 1 20:41:26 CEST 2016
Ano, to je ono dakujem.
Nakolko moje chapanie PICiek dovoluje, toto robi naozaj to, co sa ocakava.
>;MyProject.mpas,21 :: x := Oblast^[n]; // v X je vzdy dato
>0x002C 0x5001 MOVF R1, 0
>0x002E 0x2441 ADDWF FARG_writeeeprom_oblast, 0
>0x0030 0x6EE9 MOVWF FSR0L
>0x0032 0x5002 MOVF R2, 0
>0x0034 0x2042 ADDWFC FARG_writeeeprom_oblast+1, 0
>0x0036 0x6EEA MOVWF FSR0H
>0x0038 0xF003CFEE MOVFF POSTINC0, R3
aj ked nie prilis chapem, preco prekladac pouzil featuru automatickeho
postinkrementu adresneho registra pre nepriamy pristup FSR, ked v kazdom
kole cyklu sa aj tak adresa explicitne vyratava a naplni do toho
registra... no ale nemusim vsetkemu rozumiet :-) Snad mi to nejaky
skutocny PICkar vysvetli.
A ahaho, ked uz ide o skutocne citanie, tak aj tie pointre su odrazu
16-bitove:
>;MyProject.mpas,30 :: writeeeprom( PBytearray(@X1), SizeOf(X1), 0 );
>0x0050 0x0E36 MOVLW _X1
>0x0052 0x6E41 MOVWF FARG_writeeeprom_oblast
>0x0054 0x0E00 MOVLW hi_addr(_X1)
>0x0056 0x6E42 MOVWF FARG_writeeeprom_oblast+1
S tym volatile som to prehnal, to asi v tom Pascale nie je, alebo je? Ako
ste to dosiahli, co ste zmenili?
wek
Další informace o konferenci Hw-list