AVR使用范例--EEPROM使用详解.docVIP

  • 21
  • 0
  • 约1.94千字
  • 约 7页
  • 2016-12-29 发布于重庆
  • 举报
AVR使用范例--EEPROM使用详解 本页关键词:什么是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逐条语句运行,查看运行结果。 地址10上的值被改写为“a” temp1的值变为a,及读取了地址0x10的值a: abcdefg写入20开始的地址: temp2的变为地址20的值a: 以0x20开始的值都读入buffer数组中: 预定义的数组中的值写到EEPROM中: 设置不保护EEPROM的值之后,停止调试再开始调试,EEPROM中的值改为0XFF: 通过以上的观察,我想你已经对EEPROM的操作有了一定的认识,同时,你可以打开eeprom.h查看内部内容,是如何定义函数的。 结构体的操作方法与数组类似:(一般简单应用中,你用不到下面的知识,看不懂没有关系,不要被吓倒了) EEPROMWriteBytes(0x10,red_flag,sizeof(red_flag)); //将结构写入EEPROM EEPROMReadBytes(0x10,red_flag,sizeof(red_flag)); //从EEPROM中将结构全部读出来 旗帜的结构为 /* 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; //旗帜结构 */

文档评论(0)

1亿VIP精品文档

相关文档