• I2C和SPI


    I2C(Inter-Integrated Circuit)总线

    两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。

    通过串行数据线(SDA,Serial DAta)和串行时钟线( SCL,Serial CLock),在连接到总线的器件间传递信息。

    在传输数据的时候,SDA线必须在时钟的高电平周期保持稳定,SDA的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变 。

    SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;
    SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。
    起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态,在停止条件的某段时间后总线被认为再次处于空闲状态。
    如果产生重复起始条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始条件(Sr) 在功能上是一样的。
     
    SPI(Serial Peripheral Interface--串行外设接口)总线
    一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
     
    (1)MOSI – 主器件数据输出,从器件数据输入(主出从入)
    (2)MISO – 主器件数据输入,从器件数据输出(主入从出)
    (3)SCLK –时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2
    (4)NSS – 从器件使能信号,由主器件控制,有的IC(Integrated Circuit)会标注为CS(Chip select)
  • 相关阅读:
    qmake杂
    Qt界面风格设置
    qss使用详解
    QT数据库操作
    Qt语言家的简单使用
    c++11之右值引用和std::move
    c++11之类型萃取type_traits
    c++11之std::bind和function
    c++11之lambda
    vue中input输入框无法输入
  • 原文地址:https://www.cnblogs.com/perfy/p/3260393.html
Copyright © 2020-2023  润新知