EEPROM初始化
对于那些支持对其EEPROM数据区域进行外部编程的器件,可以使用__EEPROM_DATA()宏将初始值放入可用于编程的HEX文件。
例:#include <XC.h>
__EEPROM_DATA(0,1,2,3,4,5,6,7);
该宏有8个参数,代表8个数据值,每个值为1BYTE。未使用的值用指定为零,否则编译器会报错。
每次使用时,__EEPROM_DATA将从EEPROM地址零开始写入,自动递增8。
若想使用更多的数据,可通过多次调用该宏来定义所需数量的EEPROM数据。最好将该宏放在所有函数定义之外。
该宏不能在运行时写入EEPROM里,而是编程烧写的时候装入EEPROM中的。
使用__EEPROMSIZE来表示可用的EEPROM字节数。
访问函数
可以调用库函数来读取和写入EEPROM。
void eeprom_write(unsigned char addr, unsigned char value);
unsigned char eeprom_read(unsigned char addr);
使用这些函数时,会自动测试,并等待对EEPROM的所有并发写操作完成,再去执行所需的操作。
访问宏
宏版本跟访问函数不同,宏用法如下。
EEPROM_READ(address)
EEPROM_WRITE(address, value)
EEPROM_READ宏会返回读取的字节。
在低档和中档器件中,如PIC8 PIC16 PIC18系列中,宏函数读取不会等EEPROM写操作完成,使用时应查询标志。
再使用宏版本访问时,最好将中断关闭。
例 : xc.h
while (WR)
continue;
value=EEPROM_READ(address);
实测数据: 初始化写入 3个数据 0X07,0X30,0X29
查看寄存器已经 数据被写进去了