PUYA I2C — I2C_TwoBoard_CommunicationMaster_10BitAddr_IT

PUYA PY32F403_Firmware V1.4.5 I2C I2C_TwoBoard_CommunicationMaster_10BitAddr_IT 示例教学

I2C — I2C_TwoBoard_CommunicationMaster_10BitAddr_IT

固件库: PY32F403_Firmware V1.4.5
芯片: PUYA
源文件: PUYA/PY32F403_Firmware_V1.4.5/Projects/PY32F403-STK/Example/I2C/I2C_TwoBoard_CommunicationMaster_10BitAddr_IT/Src/main.c


功能简介

本示例演示 I2C 总线通信。I2C 只需两根线(SCL+SDA)就能连接多个设备,是最常用的低速通信总线。

硬件准备

  • I2C 从设备(如 EEPROM、传感器模块)
  • SCL/SDA 线上需要 4.7K 上拉电阻

完整代码

1
2
3
4
5
#include "main.h"
#define DATA_LENGTH      15                 /* Length of data */
#define I2C_ADDRESS      0xA0               /* Own address 0xA0 */
#define I2C_SPEEDCLOCK   100000             /* Communication speed 100K */
#define I2C_DUTYCYCLE    I2C_DUTYCYCLE_16_9 /* Duty cycle */

代码讲解

I2C 配置:设置通信速率(标准 100K / 快速 400K / 快速+ 1M)、从机地址、时钟拉伸。

实验现象

  • 主机和从机完成数据收发
  • 校验通过 LED 指示成功

注意事项

  • I2C 总线需要上拉电阻(一般 4.7K)
  • 从机地址要与设备手册一致(注意 7 位/8 位地址的区别)
  • 写 EEPROM 后需要等待 5ms 以上再读
世界是你们
使用 Hugo 构建
主题 StackJimmy 设计