【硬件IIC与软件IIC在程序实现上的核心区别】结合STM32F103C8T6标准库代码进行对比分析
一、程序架构对比
1. 初始化过程
硬件IIC | 软件IIC |
---|---|
需配置专用硬件模块(寄存器) | 仅需配置GPIO引脚 |
依赖芯片的I2C外设时钟 | 只需GPIO时钟 |
需要设置SCL频率、工作模式等硬件参数 | 通过软件延时控制时序 |
代码示例: | 代码示例: |
|
|
硬件IIC | 软件IIC |
---|---|
需配置专用硬件模块(寄存器) | 仅需配置GPIO引脚 |
依赖芯片的I2C外设时钟 | 只需GPIO时钟 |
需要设置SCL频率、工作模式等硬件参数 | 通过软件延时控制时序 |
代码示例: | 代码示例: |
|
|