概述
一.IIC总线说明:
IIC总线时序只有高低电平的持续时间一般是大于多少us/ms。
iic时序:
开始:当SCL为高电平时,SDA由高电平状态切换到低电平状态时,会产生一个起始信号。
停止:当SCL为高电平时,SDA由低电平转换为高电平,产生一个终止信号。
数据位传输:当SCL为高电平时SDA的状态不能发生改变,在此过程中数据位被传输。
当SCL为低电平时SDA的状态可以发生改变,当SCL为高电平状态时被传输。
应答信号的产生: 主机向从机写数据时,由从机产生应答信号,主机接收
主机读数据时,由主机产生应答信号,从机接收。 当第九个时钟信号到来时,SDA为高电平规定为不产生应答信号,低电平为产生应答信号。
IIC设备读写序列:
写: START | SLAVEADDR W | ACK| MEMOMRYADDR| ACK| DATA LSB| ACK| DATA MSB| ACK| STOP|
读: START | SLAVEADDR W | ACK| MEMORYADDR | ACK| REPEATED START| MEMORYADDR R|ACK|DATA LSB|ACK|DATA MSB|NACK|STOP|
二.调试说明:
确定总线时序没有问题时,应从多方面分析问题。
对于IIC总线,当读取到的信号全为0XFF时,说明的问题是 :
时序问题 ,延迟不准确导致
硬件问题 ,接线是否正确,从机器件信息是否正确,线是否接反。
上拉电阻 ,因为SDA /SCL只能输出0,所以需要上拉电阻才能产生高电平。1.5K /2.2K /4.7K
******************
**此次调试的问题:**
******************
确定软件时序没问题后,没能从硬件角度去查找问题。当GPIO引脚复用时,要开启RCC_APB2Periph_AFIO时钟。
各种信号都有电平状态,前期可以根据电平值初步估计硬件是否有问题。
三、多主机设备 multi host
转载于:https://www.cnblogs.com/nyqm/p/7955630.html
最后
以上就是刻苦日记本为你收集整理的4.IIC总线的全部内容,希望文章能够帮你解决4.IIC总线所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复