24c02 iic 24C02(IIC)读写操作.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
24c02 iic 24C02(IIC)读写操作 导读:就爱阅读网友为您分享以下“24C02(IIC)读写操作”资讯,希望对您有所帮助,感谢您对92的支持! 1. AT24C02写操作 首先我们来看一下写 AT24C02。 一般步骤是: 1) 发送起始信号 2) 发送写器件地址 3) 等待应答 4) 发送要写入的 24C02 的地址 5) 等待应答 6) 发送要写入的数据 7) 等待应答 8) 发送数据结束发送结束信号 具体程序如下: /****************************************************************************** * * 函 数 名 : AT24Cxx_WriteOneByte * 函数功能 : 24c02写一个字节地址 数据 * 输 入 : addr dt * 输 出 : 无 ********************************************/ void AT24Cxx_WriteOneByte(u16 addr,u8 dt) { I2C_Start(); if(EE_TYPEgt;AT24C16) { I2C_Send_Byte(0xA0); I2C_Wait_Ack(); I2C_Send_Byte(addrgt;gt;8); //发送数据地址高位 } else { I2C_Send_Byte(0xA0+((addr/256)lt;lt;1));//器件地址+数据地址 } I2C_Wait_Ack(); I2C_Send_Byte(addr%256);//双字节是数据地址低位 //单字节是数据地址低位 I2C_Wait_Ack(); I2C_Send_Byte(dt); I2C_Wait_Ack(); I2C_Stop(); delay_ms(10); } 2. AT24C02读操作 那么读取 AT24C02 的步骤是: 1) 发送起始信号 2) 发送写器件地址 3) 等待应答 4) 发送要读取的 AT24C02 的地址 5) 等待应答 6) 再发送其实信号 7) 发送读器件地址 8) 等待应答 9) 接收数据 10) 如果没有接收完数据,发送应答 11) 接收数据 12) 直到接收完数据,发送非应答 13) 发送结束信号 /****************************************************************************** * * 函 数 名 : AT24Cxx_ReadOneByte * 函数功能 : 24c02读一个字节地址 数据 * 输 入 : addr * 输 出 : 返回值temp *****************************************************************************/ u8 AT24Cxx_ReadOneByte(u16 addr) { u8 temp=0; I2C_Start(); if(EE_TYPEgt;AT24C16) { I2C_Send_Byte(0xA0); I2C_Wait_Ack(); I2C_Send_Byte(addrgt;gt;8); //发送数据地址高位 } else { I2C_Send_Byte(0xA0+((addr/256)lt;lt;1));//器件地址+数据地址 } I2C_Wait_Ack(); I2C_Send_Byte(addr%256);//双字节是数据地址低位 //单字节是数据地址低位 I2C_Wait_Ack(); I2C_Start(); I2C_Send_Byte(0xA1); I2C_Wait_Ack(); temp=I2C_Read_Byte(0); // 0 代表 NAC I2C_NAck(); I2C_Stop(); return temp; } 百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网92,您的在线图书馆 2016学年第一学期 教学工作计划 5

文档评论(0)

raojun0010 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档