南有乔木z

随心所欲,想写啥就写啥。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一.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
   
                                                

posted on 2017-12-02 21:09  南有乔木z  阅读(469)  评论(0编辑  收藏  举报