AT24C08的IIC通信协议剖析.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT24C08的IIC通信协议剖析

AT24C08的IIC通信协议 编程实例 主发送程序设计 主接收程序设计 IIC中断程序 测试程序 * 1、单字节写操作? START-发送器件地址-ack-发送字节地址-ack-发送数据-ack?-?STOP ?? 按“页”写操作,“页”是指高位地址一样一组数据,对于24C01/02/04/08/16,一页数据为16字节,一页指高四位地址一样的一组数据。? START-发送器件地址-ack-发送页首地址-ack-发送数据-ack.........-?发送数据-ack?-?STOP 当前单字节读操作,“当前”指的是前面进行过读操作,但是没有STOP,芯片内部“指针”指的字节即为“当前”字节。? START-发送器件地址(读)-ack-接收数据-no ack-STOP 随机单字节读操作? START-发送器件地址(写)-ack-发送字节地址-ack-START-发送器件地址(读)-ack-接收数据-no ack-STOP 当前连续字节读操作? START-发送器件地址(读)-ack-接收数据-ack-接收数据??-ack...............接收数据(最后字节)-no ack-STOP 随机连续字节读操作? START?-发送器件地址(写)-ack-发送字节首地址-ack-START-发送器件地址(读)-?ack-接收数据-ack-接收数据-ack.........接收数据(最后字节)??-noack-STOP? #define WRDATA (1) //写操作 #define POLLACK (2) //返回ACK操作 #define RDDATA (3) //读数据操作 #define SETRDADDR (4) //设置地址操作 #define IICBUFSIZE 0x20 //数据缓冲大小 static U8 _iicData[IICBUFSIZE]; //数据缓存 static volatile int _iicdataCount; //数据计数 static volatile int _iicStatus; //数据状态 static volatile int _iicMode; //操作状态 static int _iicPt; void Wr24c080(U32 slvaddr,U32 addr,U8 data) { _iicMode = WRDATA; _iicPt = 0; _iicData[0] = (U8)addr; _iicData[1] = data; _iccDataCount = 2; rIICDS = slvAddr; //器件地址 0xa0 rIICSTAT = 0xf0; //主发送,开始 while(_iccDataCount!=-1); _iccMode = POLLACK; while(1) { rIICDS = slvAddr; _iicStatus = 0x100; rIICSTAT = 0xf0; //主发送,开始 rIICCON = 0xaf; //Resumes IIC operation while(_iicStatus == 0x100); if(!(_iicStatus0x1))break; //接收到ACK } rIICSTAT = 0xd0; //Stop MasTx condition rIICCON = 0xaf; //Resumes IIC operation Delay(1); //Wait until stop condtion is in effect } voi

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档