×

单片机的IO口模拟I2C数据总线传输方式的详细中文资料概述

消耗积分:0 | 格式:pdf | 大小:1.19 MB | 2018-06-16

374616

分享资料个

  需要做的工作小结如下:

  1、MCU的I2C采用IO口模拟实现;

  2、MCU作为I2C主设备与定时芯片RX-8025SA建立通信;

  3、实现定时闹钟、定时唤醒及睡眠的功能;

  调试过程:

  1、IO口模拟I2C的代码在网上是可以找得到的。但是在具体的项目中,由于时钟的的不同在时序的控制上有区别,需要再调试。

  在具体项目中调试I2C时,需要注意一下几点:

  1)I 2C设备的地址,有的描述方法是7位,有的描述方法是8位。

  注意只要代码和实际的设备地址相一致就好的。关于7位地址的使用方法无非描述的是8位地址的高7位,因为最后一位是固定的。(读的时候是1,写的时候是0)。

  2)I2C通信协议本身并没有规定在通信过程中,传输的字节数。但是,有的设备可能只允许传输1个字节,或者两个字节,或者固定位数以内的字节。具体的规则要看从设备的规格书。

  3)有的I2C设备只能写,不能读,这点也需要注意。

  4)2C从设备的通信速率,即数据传输速度,不同设备之间会有所不同,所以,要考虑兼容性的问题。

  5)有的设备可能是10位地址,写地址的时候,需要送两次设备地址。

  6)设备的程序编写尽量规范。总线要释放的时候,最好把I/O设置为输入口。有的程序编写的做法是,释放总线即把I/O设置为高,这样不好。

  7)时序的控制上,要符合设备的规格书的要求:

单片机的IO口模拟I2C数据总线传输方式的详细中文资料概述
 

  手头有示波器的话,这里介绍一个比较适用且效率较高的调试方法。用示波器两路的探头直接接到I2C的数据线SDA和时钟线SCL上,上电后获取两路波形,再根据I2C通信协议读取通信数据,这样就可以看出是哪里的时序出的问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !