STM32/GD32——I2C通信协议

芯片选型

Ciga Device --- GD32F470系列

通讯规则

**I2C协议(或称IIC)**是由飞利浦(现在的恩智浦半导体)公司开发的一种通用的总线协议。它使用两根线(时钟线和数据线)来传输数据,支持多个设备共享同一条总线。 I2C协议通常用于连接微控制器、传感器、存储器和其他外围设备。

2C总线包括两根信号线:SDA(串行数据线)和SCL(串行时钟线)。

这两根信号线共用一个总线,因此在总线上可以连接多个设备。在I2C总线上,每个设备都有一个唯一的地址,用于标识设备。

  • SCL线是时钟线,用于控制数据传输的速度和时序;
  • SDA线是数据线,用于传输实际的数据.

写流程

  1. 开始
  2. 发送设备地址,等待从设备响应
  3. 发送寄存器地址,等待从设备响应
  4. 发送一个字节,等待从设备响应。这个操作是循环执行,直到没有数据
  5. 停止

读流程

  1. 开始
  2. 发送设备地址(写地址),等待从设备响应
  3. 发送寄存器地址,等待从设备响应。
  4. 开始
  5. 发送设备地址(读地址),等待从设备响应
  6. 接收一个字节,发送响应给从设备。这个操作是循环执行,直到没有数据。当是最后一个数据时,发送空响应
  7. 停止

I2C软实现代码案例

I2C硬实现代码案例

屏幕显示移植案例

相关推荐
小智学长 | 嵌入式1 小时前
单片机-STM32部分:18、WiFi模组
stm32·单片机·嵌入式硬件
KaiGer6662 小时前
AUTOSAR图解==>AUTOSAR_SWS_ICUDriver
单片机·汽车·嵌入式·autosar
SANGEDZ_YYDS3 小时前
三格电子上新了——IO-Link系列集线器
单片机
亿道电子Emdoor4 小时前
【ARM】MDK如何将变量存储到指定内存地址
arm开发·stm32·单片机
搬砖的小码农_Sky4 小时前
FPGA:Lattice的FPGA产品线以及器件选型建议
嵌入式硬件·fpga开发·硬件架构·硬件工程
mftang4 小时前
Zephyr OS Nordic芯片的Flash 操作
单片机·嵌入式硬件·物联网
阿川!6 小时前
嵌入式软件--stm32 DAY 6 USART串口通讯(下)
stm32·单片机·嵌入式硬件
繁星无法超越7 小时前
详解Windows(九)——系统性能优化
windows·stm32·性能优化
small_wh1te_coder14 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
WKJay_15 小时前
深入理解 Cortex-M3 特殊寄存器
stm32·单片机·嵌入式硬件