[AVR单片机] M128,EEPROM 怎么写不进去?

[复制链接]
 楼主| ningling_21 发表于 2014-6-4 21:02 | 显示全部楼层 |阅读模式
  1. void eeprom_write(uint  adr, uchar dat)
  2. {
  3.     while(EECR&0X02);        //等待上一次写入完成
  4.         EEAR = adr;
  5.         EEDR = dat;                        //装载数据
  6.         EECR |=0X04;                //
  7.         EECR |=0X02;                //启动写操作
  8. }
复制代码


8MHZ晶振。

写进去再读出来 数据不一样...
dirtwillfly 发表于 2014-6-7 11:14 | 显示全部楼层
难道没写成功?
注意下时序吧。
airwill 发表于 2014-6-10 12:26 | 显示全部楼层
最好再等待一下 EEPROM 的 ready 信号.
也就说先判断一下 EECR 的 EEWE 位.
 楼主| ningling_21 发表于 2014-6-10 12:33 | 显示全部楼层
airwill 发表于 2014-6-10 12:26
最好再等待一下 EEPROM 的 ready 信号.
也就说先判断一下 EECR 的 EEWE 位.

程序里面有等待,但数据好像不对

写进去8个AA,读取来串口发送出来是,35 35 35 35 35 35 35 35
 楼主| ningling_21 发表于 2014-6-10 12:34 | 显示全部楼层
dirtwillfly 发表于 2014-6-7 11:14
难道没写成功?
注意下时序吧。

按照资料里面来的程序...
airwill 发表于 2014-6-10 12:49 | 显示全部楼层
那还有, 你的串口程序是不是有问题呢? 先验证一下吧
 楼主| ningling_21 发表于 2014-6-13 21:47 | 显示全部楼层
是串口的问题,刚上电时不稳定造成的...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5014

主题

17810

帖子

51

粉丝
快速回复 在线客服 返回列表 返回顶部