zoukankan      html  css  js  c++  java
  • IIC学习笔记

    2012-11-1:
    1、IIC有两根线(时钟线:SCL;数据线:SDA);
    2、IIC器件都有自己的地址(生产IIC硬件商自己决定的);
    3、IIC主机通过地址选择要与自己通信的从机;
    4、IIC起始信号:SCL = 1, SDA产生一个下降沿;
    5、IIC结束信号:SCL = 1,SDA产生一个上升沿;
    6、在数据传输阶段:SCL = 1的时候SDA数据线不能变化,如果SDA发生变化那意味着结束;
    7、SCL = 1; SDA = 1; 为空闲状态;
    8、IIC器件的SCL SDA引脚需接上拉电阻(记忆中是10K);
    9、总线上各器件的SCL、SDA为线与关系,某一个器件的引脚输出低,则为低。
    10、通信过程中要注意应答信号,在第9个时钟时,SDA=0(ack),SDA=1(nak)。


    IIC通信过程:
    写数据:发送启动信号,发送设备地址信号,检测应答,发送写命令,发送数据,发送停止信号。
    读数据:发送启动信号,发送设备地址信号,检测应答,发送写命令,发送要读取数据的地址;发送开始信号,发送读命令。

    菜鸟常见错误:用IIC控制硬件时,要特别注意硬件改变状态需要时间(硬件把收到的数据写入自己的寄存器需要时间、根据自己的寄存器改变状态也需要时间)。

  • 相关阅读:
    [Panzura] identify user operations(copy, open, read ... ) in audit log
    Spark 学习
    Zeppelin 学习
    Delta Lake 学习
    传染病模型 SI
    xcodebuild和xcrun实现自动打包iOS应用程序
    控制UIlabel 垂直方向对齐方式的 方法
    ALAssetsLibrary
    CATransform3D
    AVFoundation的使用
  • 原文地址:https://www.cnblogs.com/smart-mutouren/p/3413619.html
Copyright © 2011-2022 走看看