i2cI2C通信的内容

i2c  时间:2021-07-30  阅读:()

I2C通信的内容

I2C的时序是比较复杂的,你如果能把I2C的时序弄清,那其他器件的时序都不成问题了。

我就按照我的理解来跟你讲吧。

直接用程序来说明吧。

NOP(),一个机器周期时间的延迟,12M晶振时为1微秒 NOPS(),4个NOP()。

sbit SDA P2^0; sbit SCL P2^1; 定义数据线和时钟线接口 首先,I2C有2个重要的线,SDA数据线SCL时钟线,当总线上没有进行信息传送时,SDA和SCL都为高电平,我们称之为释放总线。

开始传送信息时,要有一个开始信号, 开始信号 :定义为在SCL为高电平的时候,SDA从高电平拉低。

start() { SDA=1; NOP(); //同你图中 SDA/SCL上升/下降所用时间 1US SCL=1; NOPS(); //建立开始信号(同你图中TSU起始信号建立时间一样4US) SDA=0; //SDA拉低 NOPS(); SCL=0; //SCL拉低, 钳住总线,准备发送或接收数据 NOP(); } 结束信号:与开始信号相反,在SCL为高电平时,SDA从低拉高 () { SDA=0; NOP(); SCL=1; NOPS(); //建立信号时间 SDA=1; //拉高 结束。

NOPS(); } 我晕,发现写了半天还有好多。



算了 帮人帮到底了 发送/接收一个数据:数据的发送和接收都是在SCL为低电平的时候发生,因为SCL为高电平时已给了开始和结束信号。

发送数据时,当数据准备读入时,将SCL线暂时拉高(SCL为高时,SDA无法改变状态),保持一段时间然后拉低(同你图中的TDH,数据输出保持时间),这时数据则发送完毕到SDA上。

接收则与之大同小异。

当SDA线上有数据过来时,先将SCL拉高,建立好时间,然后拉低,数据则被读入。

(关于如何被发出以及如何被读入则是芯片做的事,我们不用管,只需记住SCL拉低,数据发出/读入) 用程序来讲就是: send(uchar c) //发送一个字节 { uint i; for(i=0;i

VirtVPS抗投诉瑞士VPS上线10美元/月

专心做抗投诉服务器的VirtVPS上线瑞士机房,看中的就是瑞士对隐私的保护,有需要欧洲抗投诉VPS的朋友不要错过了。VirtVPS这次上新的瑞士服务器采用E-2276G处理器,Windows/Linux操作系统可选。VirtVPS成立于2018年,主营荷兰、芬兰、德国、英国机房的离岸虚拟主机托管、VPS、独立服务器、游戏服务器和外汇服务器业务。VirtVPS 提供世界上最全面的安全、完全受保护和私...

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

MechanicWeb免费DirectAdmin/异地备份

MechanicWeb怎么样?MechanicWeb好不好?MechanicWeb成立于2008年,目前在美国洛杉矶、凤凰城、达拉斯、迈阿密、北卡、纽约、英国、卢森堡、德国、加拿大、新加坡有11个数据中心,主营全托管型虚拟主机、VPS主机、半专用服务器和独立服务器业务。MechanicWeb只做高端的托管vps,这次MechanicWeb上新Xeon W-1290P处理器套餐,基准3.7GHz最高...

i2c为你推荐
qq业务代码手机可以开通腾讯QQ哪些业务, 具体的短信代码是多少?什么网络电话好国内最好的网络电话是什么?百度创业史百度成立的历史windows7系统要求win7系统要求北漂论坛北漂族的艰辛主要体现在哪些方面?创业好项目论坛我想创业,有没有什么好的项目,福州创业QQ群有吗?或者是创业论坛?linux操作系统好吗linux系统好不好学??金山铁路最新时刻表金山北至上虞北高铁时间表无法清除dns缓存无法清除dns缓存 设置好后重起又是无法清除修改qq密码保护怎么改QQ密码,还有改密保
国外vps主机 如何查询ip地址 草根过期域名 大硬盘 stablehost 便宜建站 wordpress技巧 免费名片模板 好看的桌面背景图 骨干网络 警告本网站美国保护 免费活动 美国在线代理服务器 如何安装服务器系统 优酷黄金会员账号共享 独享主机 www789 shuang12 路由跟踪 德隆中文网 更多