您的位置 首页 制造

IIC器材的读写操作,我们看看这个所谓的“教程”!!

看看下面的这段,是从***的教程里摘录而来,如果是笔误当然无须吹毛求疵。这里,无论是接收,还是发送,都是ACK,其ACK的内容是(SCL_IC_

看看下面的这段,是从***的“教程”里摘抄而来,假如是笔误当然无须吹毛求疵。

这儿,不管是“接纳”,仍是“发送”,都是“ACK”,其“ACK”的内容是(SCL_IC_ C ARD=1; SCL_IC_ C ARD=0;”)就这些。这样能行吗?这个“教师”连根本的IIC协议都没弄懂。这大概不会是笔误吧?

在IIC协议中,不管是主控器材仍是从器材,A、向总线发送一个字节数据后,就要发送一个应对信号(1bit),告知接纳器材“发送完结”。B、接纳器材正确接纳到一个字节的数据后,也要发送一个应对信号(1bit),告知发送器材“接纳完结”

假如接纳器材接纳不正确,则不会发送应对信号。发送器材就检测不到“应对信号”,这时就要从“开端”过程重来。

这儿就有了这么几个环节:“应对信号(1bit,低位)”、“非应对信号(1bit,高位)、“检测应对信号”。

读的流程:发送开端信号-发送器材地址(含“写”信息)-检测应对-发送字节地址-检测应对-发送开端信号(含“读”信息)-检测应对-读一个字节-发送应对信号-……读第N字节-发送非应对信号-发送中止信号

写的流程:发送开端信号-发送器材地址(含“写”信息)-检测应对-发送字节地址-检测应对-写一个字节-检测应对信号-……写第N字节-检测应对信号-发送中止信号

上面仅就多字节读写做了简略的描绘,单字节的相似。

特别阐明:不管哪一个“检测应对信号”不成功,都要返回到“发送开端信号”处,重新开端。 假如是大容量的,发送地址分高位、低位2次,都要“检测应对”

下面便是这个“教程”的摘抄:

*****************(慎重提示:这是一个不正确的程序,千万不要套用)******************
第十四讲 IC卡(24C01)

在日常日子中,IC卡的运用越来越广泛,并且还有进一步扩展的趋势。因而

有必要把握这方面的常识,下面以24C01 为例,简略地介绍一般运用方法。

#include  #include  sbit   SC L _ IC _ C AR D= P1 ^3 ;                  sbit   SDA_ IC _ C AR D= P1 ^4 ;                     sbit WP_IC_CARD =P1^7; bdata char com_data; sbit m o s_bit=com_data^7; sbit low_bit=com_data^0; unsigned  char  data  display _buf fer[8];               void   d e l a y(i n t   n );                                 unsigned char rd_24c01(char a); void w r_24c01(char a,char b); ma in() { unsigned char i; WP_IC_CARD=1; for (i=0;i<=7;i++) {display _buf fer[i]=rd_24c01(i);delay (250);} for (i=0;i<=7;i++) {w r_24c01(i,display_buf fer[i]);delay (250);} while(1); } void start()      //发动读写时序 {          // 图4-22 (c )开端、完毕脉冲时序 SDA_IC_ C ARD=1;  SCL_IC_ C ARD=1;  SDA_ IC _ C AR D= 0 ;             // 发动start SCL_IC_ C ARD=0;  } void stop()      //中止操作 {          // 图4-22 (c )开端、完毕脉冲时序 SDA_IC_ C ARD=0;  SCL_IC_ C ARD=1;  SDA_IC_ C ARD=1;  } void ack()      //应对函数 {           SCL_IC_ C ARD=1;  SCL_IC_ C ARD=0;  } void shift8(char  a)    //8位移位输出 {  data unsigned char i; com _data=a; for(i=0;i<8;i++) {  SDA_IC_CARD=mo s_bit; S C L _ IC _ C AR D= 1 ;  S C L _ IC _ C AR D= 0 ;  com _data=com_data*2; } } 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/255414.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部