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);  

你可能感兴趣的:(AT24C02软件设计与应用)