本页关键词:什么是eeprom spi eeprom eeprom程序 eeprom资料 eeprom结构 eeprom 读写 eeprom的读写
本页详细介绍ICC自带EEPROM操作函数的操作方法,包括单字符读写,数组读写,结构体读写。
程序代码:下载相关文件
void main(void)
{
unsigned char temp1,temp2; /*定义变量*/
unsigned char buffer[10]; /*定义数组*/
unsigned char buf[]="AVR与虚拟仪器"; /*定义字符串*/
EEPROMwrite(0x10,'a'); /*单字符写入到0x10,注意是单引号*/
temp1 = EEPROMread(0x10); /*读一个字符到temp1*/
EEPROM_WRITE(0x20,"abcdefg"); /*写字符串到0x20*/
EEPROM_READ(0x20,temp2); /*读字符到temp2,temp2=a*/
EEPROM_READ(0x20,buffer); /*读字符串到数组中 buffer[10]=abcdefg */
EEPROM_WRITE(0x30,buf); /*数组中的值写到EEPROM中:0X30开始为"AVR与虚拟仪器"*/
while(1)
;
}
调试后的效果:
调试eeprom的时候,记住设置Avr studio保护eeprom数据,否则每次都会将eeprom中的数据改为0xFF。如下图:
打开调试选项:

钩选保护eeprom数据选项:

打开相关观测窗口:

按F10逐条语句运行,查看运行结果。







通过以上的观察,我想你已经对EEPROM的操作有了一定的认识,同时,你可以打开eeprom.h查看内部内容,是如何定义函数的。
结构体的操作方法与数组类似:(一般简单应用中,你用不到下面的知识,看不懂没有关系,不要被吓倒了)
/*
typedef struct
{
uint8 position; //0 底 1~180: 中间 180:顶
uint8 fangxiang; //0 静止中 'u' : 向上 'd':向下
uint8 T; //0 总时间
uint8 t; //0 已经耗去的时间
uint8 S; //0 目标路程
uint8 s; //0 已经走过的路程
uint8 move_flag; //0 是否运动中
uint8 half_mode; //0 非半旗 1:半旗
uint8 purse; //0 没有暂停 1:暂停状态
uint8 half_short_or_long;//0 1:半旗长路程中 2:半旗短路程中
uint16 maichong; //0 脉冲数目
}QIZHI;
QIZHI red_flag; //旗帜结构
*/