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