AT24C02软件设计与应用

单片机操作AT24C02的通讯过程也就是IIC的通讯过程, IIC通讯过程是一个要求一气呵成的通讯过程,中间不能被其它中断影响时序出错,因此在整个通讯过程中应该先关闭总中断,完成之后再开中断。

在写入或者读取完一个字节之后,一定要加上一段延时时间。在连续写入或者读取一串数据时容易丢失数据。如果一旦发现丢失数据,应该适当继续把这个时间延长,尤其是在写入数据时。

单片机跟AT24C02通讯的2根IO口都要加上一个4.7K左右的上拉电阻。凡是在IIC通讯场合,都要加上拉电阻。AT24C02的WP引脚一定要接地,否则存不进数据。

另外IIC写地址读地址参考IIC总线协议规定。

调试过程可以利用逻辑分析仪进行监测查找通讯问题。

在设计程序的时候必须考虑写时间过长,影响其他任务进程。

参考API:

  1. #define AT24C02_ADDRESS     0x50 // 
  2. void AT24C02_WriteByte(unsigned char regAddr, unsigned char byte);  
  3. void AT24C02_WriteBytes(unsigned char regAddr, unsigned char *byte, unsigned char len);  
  4. void AT24C02_ReadByte(unsigned char regAddr, unsigned char *byte);  
  5. void AT24C02_ReadBytes(unsigned char regAddr, unsigned char *byte, unsigned char len);  
  6.   
  7. _Bool AT24C02_Clear(unsigned char startAddr, unsigned char byte, unsigned short len);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值