如何使用STM32产生I2C协议信号
软件模拟协议:使用CPU直接控制通讯引脚的电平,产生出符合通讯协议标准的逻辑
硬件实现协议:由STM32的I2C片上外设专门负责实现I2C通讯协议,只要配置好该外设,他就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据的收发,这种由硬件外设处理I2C协议的方式减轻了CPU的工作,且使软件设计更加简单
STM32的I2C外设可以用作通讯的主机和从机,支持100kbit/s和400kbits/s的速率,支持7位,10位设备地址,支持DMA数据传输,并具有数据校验功能
使用CubeMX控制I2C的初始化
首先完成RCC与SYS的设置,再开始设置I2C
DMA设置
引脚配置:选好板子之后,引脚配置是自动完成的
EEPROM是使用I2C通信协议的,可见PB6连接到SCL引脚(时钟线)。PB7连接到SDA引脚(数据线)
EEPROM AT24C02的具体信息可以查看手册