版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AT24C08AT24C08的的IICIIC通信协议通信协议1 1、单字节写操作、单字节写操作STARTSTART 发送器件地址发送器件地址ackack 发送字节地址发送字节地址ackack 发送数发送数据据ackack STOP STOP按按“页页”写操作,写操作,“页页”是指高位地址一样一组数据,对于是指高位地址一样一组数据,对于24C01/02/04/08/16,24C01/02/04/08/16,一页数据为一页数据为1616字节,一页指高四位地址一样的字节,一页指高四位地址一样的一组数据。一组数据。STARTSTART 发送器件地址发送器件地址ackack 发送页首地址发送页首地址ac
2、kack 发送数据发送数据ack.ack. 发送数据发送数据ackack STOP STOP当前单字节读操作,当前单字节读操作,“当前当前”指的是前面进行过读操作,但是没指的是前面进行过读操作,但是没有有STOPSTOP,芯片内部,芯片内部“指针指针”指的字节即为指的字节即为“当前当前”字节。字节。STARTSTART 发送器件地址(读)发送器件地址(读)ackack 接收数据接收数据no ackno ackSTOPSTOP随机单字节读操作随机单字节读操作STARTSTART 发送器件地址(写)发送器件地址(写)ackack 发送字节地址发送字节地址ackackSTARTSTART 发送器件地
3、址(读)发送器件地址(读)ackack 接收数据接收数据no ackno ackSTOPSTOP当前连续字节读操作当前连续字节读操作STARTSTART 发送器件地址(读)发送器件地址(读)ackack 接收数据接收数据ackack 接收数接收数据据 ack.ack.接收数据接收数据( (最后字节)最后字节)no ackno ackSTOPSTOP随机连续字节读操作随机连续字节读操作STARTSTART 发送器件地址(写)发送器件地址(写)ackack 发送字节首地址发送字节首地址ackackSTARTSTART 发送器件地址(读)发送器件地址(读) ack ack 接收数据接收数据ackac
4、k 接收接收数据数据ack.ack.接收数据接收数据( (最后字节)最后字节) noacknoackSTOPSTOP编程实例编程实例主发送程序设计主接收程序设计IIC中断程序测试程序#defineWRDATA(1)/写操作#definePOLLACK(2)/返回ACK操作#defineRDDATA(3)/读数据操作#defineSETRDADDR(4)/设置地址操作#defineIICBUFSIZE0 x20/数据缓冲大小staticU8_iicDataIICBUFSIZE;/数据缓存staticvolatileint_iicdataCount;/数据计数staticvolatileint_i
5、icStatus;/数据状态staticvolatileint_iicMode;/操作状态staticint_iicPt;voidWr24c080(U32slvaddr,U32addr,U8data)_iicMode=WRDATA;_iicPt=0;_iicData0=(U8)addr;_iicData1=data;_iccDataCount=2;rIICDS=slvAddr;/器件地址0 xa0rIICSTAT=0 xf0;/主发送,开始while(_iccDataCount!=-1);_iccMode=POLLACK;while(1)rIICDS=slvAddr;_iicStatus=0
6、x100;rIICSTAT=0 xf0;/主发送,开始rIICCON=0 xaf;/ResumesIICoperationwhile(_iicStatus=0 x100);if(!(_iicStatus&0 x1)break;/接收到ACKrIICSTAT=0 xd0;/StopMasTxconditionrIICCON=0 xaf;/ResumesIICoperationDelay(1);/WaituntilstopcondtionisineffectvoidRd24C080(U32slvAddr,U32addr,U8*data)_iicMode=SETRDADDR;/设置要从从机读
7、取数据的从地址_iicPt=0;_iicData0=(U8)addr;_iicDataCount=1;/写从地址rIICDS=slvAddr;rIICSTAT=0 xf0;/MasTx,Start/Clearingthependingbitisntneededbecausethependingbithasbeencleared.while(iicDataCount!=-1);_iicMode=RDDATA;/读数据模式_iicPt=0;_iicDataCount=1;rIICDS=slvAddr;rIICSTAT=0 xb0;/MasterRx,StartrIICCON=0 xaf;/Resu
8、mesIICoperation.while(iicDataCount!=-1);*data=iicData1;void_irqIicInt(void)U32iicSt,i;rSRCPND=BIT_IIC;/清中断rINTPND=BIT_IIC;iicSt=rIICSTAT;iicSt=rIICSTAT;/ICC状态寄存器if(iicSt&0 x8)/总线仲裁失败if(iicSt&0 x4)/从地址与ICCADD地址匹配if(iicSt&0 x2)/从地址为00000000bif(iicSt&0 x1)/未收到ACKswitch(_iicMode)casePOLL
9、ACK:_iicStatus=iicSt;break;caseRDDATA:/从从机中读取数据if(_iicDataCount-)=0)_iicDataiicPt+=rIICDS;rIICSTAT=0 x90;/StopMasRxconditionrIICCON=0 xaf;/ResumesIICoperation.Delay(1);/Waituntilstopcondtionisineffect./Toolongtime./Thependingbitwillnotbesetafterissuingstopcondition.break;_iicDataiicPt+=rIICDS;/Thela
10、stdatahastobereadwithnoack.if(_iicDataCount)=0)rIICCON=0 x2f;/ResumesIICoperationwithNOACK.elserIICCON=0 xaf;/ResumesIICoperationwithACKbreak;caseWRDATA:/写数据到从机if(_iicDataCount-)=0)rIICSTAT=0 xd0;/stopMasTxconditionrIICCON=0 xaf;/resumesIICoperation.Delay(1);/waituntilstopcondtionisineffect./Thepend
11、ingbitwillnotbesetafterissuingstopcondition.break;rIICDS=_iicDataiicPt+;/iicData0hasdummy.for(i=0;i10;i+);/forsetuptimeuntilrisingedgeofIICSCLrIICCON=0 xaf;/resumesIICoperation.break;caseSETRDADDR:/设置要从从机机读取数据的从机地址/Uart_printf(S%d,_iicDataCount);if(_iicDataCount-)=0)break;/IICoperationisstoppedbecau
12、seofIICCON4rIICDS=_iicData_iicPt+;for(i=0;i10;i+);/forsetuptimeuntilrisingedgeofIICSCLrIICCON=0 xaf;/resumesIICoperation.break;default:break;voidMain(void)unsignedinti,j,save_E,save_PE;staticU8data256;/用于存储AT24C08读出的数据Uart_Printf(IICTest(Interrupt)n);save_E=rGPECON;/保护现场save_PE=rGPEUP;rGPEUP|=0 xc00
13、0;/上拉禁止rGPECON|=0 xa00000;/GPE15:IICSDA,GPE14:IICSCLpISR_IIC=(unsigned)Iicint;rINTMSK&=(BIT_IIC)/使能应答,时钟预分频选择IICCLK=PCLK/16,中断使能,/发送时钟值Txclock=IICCLK/(IICCON3:0+1)rIICCON=(17)|(06)|(15)|(0 xf);rIICADD=0 x10;/2410从机地址=7:1rIICSTAT=0 x10;/IIC总线数据输出使能(Rx/Tx)Uart_Printf(Writetestdatan);for(i=0;i256;i+)Wr2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化赋能:慈溪农村合作银行信贷管理变革与创新研究
- 2025 去科技馆作文课件
- 2025 高中阅读理解之抑扬手法课件
- 2025 高中阅读理解之悬念设置课件
- 2025年前台问询礼仪试卷
- 合成氨生产线项目规划设计方案
- 废旧光伏组件回收处理项目商业计划书
- 城市排水管网改造项目初步设计
- 养猪场温度控制系统设计方案
- 水电安装工程施工组织设计方案
- 2026河南豫能控股股份有限公司及所管企业招聘31人备考题库及参考答案详解(精练)
- 2026广西北海市从“五方面人员”中选拔乡镇领导班子成员25人笔试参考题库及答案解析
- 2026年高速公路收费员考笔试试题与答案
- 2025年江西建设职业技术学院单招综合素质考试题库及答案解析
- 2026四川宜宾传媒集团有限公司及下属子公司第一批员工招聘13人笔试备考题库及答案解析
- 抗菌药物临床应用指导原则试题含答案
- 2026黑龙江新高考:语文必背知识点归纳
- 领导干部任前法律法规知识考试题库(2025年度)及答案
- 艾滋病梅毒乙肝防治知识宣传课件
- 年鉴编纂基本知识课件
- 基于AI的API安全风险评估模型
评论
0/150
提交评论