仅以寄存器地址为8Bit的器件为例:(例如MPU6500、LSM6DS3)

 

I2C通信协议

I2C 的要点是了解I2C通信帧的组成部分:START起始位、STOP停止位、ACK/NACK信号、从机器件地址、从机寄存器地址。

I2C读的时序比较繁琐,注意与写区分。

 

  • I2C 通信帧的组成部分(单字节写)

I2C与SPI通信总线协议

 

  • I2C单字节写 / 多字节写

I2C与SPI通信总线协议

 

  • I2C单字节读 / 多字节读

I2C与SPI通信总线协议

 

 

SPI通信协议

相较于I2C,SPI则简单很多,多器件的管理通过多根CS引脚进行控制,无应答处理,适合大数据流的连续写入。

 

(下图中:SPC就是SCK/SCLK,SDI就是MOSI,SDO就是MISO)

 

  • SPI 单字节写 / 多字节写

I2C与SPI通信总线协议

 

  • SPI 单字节读 / 多字节读

I2C与SPI通信总线协议

I2C与SPI通信总线协议

 

stm32 - I2C/SPI 波形及代码

stm32F103 软件I2C获取 AHT20温湿度传感器数据:stm32-I2C-AHT20

stm32F40x 硬件SPI获取AD793的ADC采样值:stm32-SPI-AD7793

 

相关文章:

  • 2021-07-28
  • 2021-06-16
  • 2021-11-09
  • 2021-10-26
  • 2021-10-14
猜你喜欢
  • 2021-10-05
  • 2021-10-23
  • 2021-10-27
  • 2022-12-23
  • 2021-10-12
  • 2022-03-05
相关资源
相似解决方案