I2C — I2C 主机 DMA 通信
固件库: PY32F403_Firmware V1.4.5
芯片: PUYA
源文件:PUYA/PY32F403_Firmware_V1.4.5/Projects/PY32F403-STK/Example/I2C/I2C_TwoBoard_CommunicationMaster_DMA/Src/main.c
功能简介
本示例演示 I2C + DMA 通信。大数据量传输时,DMA 可以大幅降低 CPU 负载。
硬件准备
- I2C 从设备(如 EEPROM、传感器模块)
- SCL/SDA 线上需要 4.7K 上拉电阻
完整代码
|
|
代码讲解
I2C 配置:设置通信速率(标准 100K / 快速 400K / 快速+ 1M)、从机地址、时钟拉伸。
实验现象
- 主机和从机完成数据收发
- 校验通过 LED 指示成功
注意事项
- I2C 总线需要上拉电阻(一般 4.7K)
- 从机地址要与设备手册一致(注意 7 位/8 位地址的区别)
- 写 EEPROM 后需要等待 5ms 以上再读