网站大量收购闲置独家精品文档,联系QQ:2885784924

AT24C08的IIC通信协议.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档