Cecko pro PICe
Lukas Grepl
L.Grepl@sh.cvut.cz
Pátek Říjen 28 13:28:00 CEST 2005
> Dobry den,
> mam dotaz jak mam ve zdrojaku nadefinovat aby se me pri programovani
> naprogramovala pamete EEPROM s textem.
>
> Chtel bych nejake makra jako
> __EEPROM_CHAR (ahoj);
>
> __EEPROM_INT (65535);
>
> __EEPROM_LONG (524248);
>
> Neco jsem si doma vytvoril ale integer do eepromky zapisuji jako dva
> 8-my bitova slova a integer long jako 4. 8-my bitoba slova. Ale na char
> jsem neprisel. Jde to nejak udelat?
Neco jako:
-----------------------
#include <pic.h>
#define __EEPROM_CHAR(a) \
asm("\tpsect eeprom_data,class=EEDATA,delta=2"); \
asm("\tdb\t" ___mkstr(a))
#define __EEPROM_INT(i) __EEPROM_CHAR((i) & 0xff); __EEPROM_CHAR(((i) >>
8) & 0xff)
#define __EEPROM_LONG(l) __EEPROM_INT((l) & 0xffff); __EEPROM_INT(((l)
>> 16) & 0xffff)
__EEPROM_CHAR(5);
__EEPROM_CHAR(10);
__EEPROM_INT(0xaabb);
__EEPROM_LONG(0x44332211);
__EEPROM_LONG(0xffeeddcc);
void main() {}
-----------------------
coz se prelozi do:
21 psect eeprom_data
22 2100 0005 db 5 ;#
23 2101 000A db 10 ;#
24 2102 00BB db 187 ;#
25 2103 00AA db 170 ;#
26 2104 0011 db 17 ;#
27 2105 0022 db 34 ;#
28 2106 0033 db 51 ;#
29 2107 0044 db 68 ;#
30 2108 00CC db 204 ;#
31 2109 00DD db 221 ;#
32 210A 00EE db 238 ;#
33 210B 00FF db 255 ;#
Lukas Grepl
Další informace o konferenci Hw-list