Stm32具有IIC接口,接口有以下主要特性 多主机功能:该模块既可做主设备也可做从设备 主设备功能 C地址检测 产生和检测7位/10位地址和广播呼叫 支持不同的通讯速度 状态标志: 发送器/接收器模式标志 字节发送结束标志 总线忙标志 错误标志 2个中断向量 可选的拉长时钟功能 具单字节缓冲器的DMA 虽然很多人说STM的硬件IIC不好用,但是对于这么一个设备去探索一下还是很有必要的,指不定哪天就用上了呢, IIC借口一共有九个寄存器,比较重要的几个寄存器分别如下 1. CR1
由这几个位我们可以正常产生标准IIC的START条件STOP条件,ACK与NOACK CR2
控制IIC的通行频率 这两位检测IIC总线是否收到数据
1. 对于硬件IIC的初始化流程包括 1. 配置IO口,配置为GPIO_Mode_AF_OD模式 2. 选择IIC模式 3. 选择是否使能自动应答以及设备地址长度 4. 设置IIC总线的传输速率 2. 硬件IIC的读写操作其实逻辑上和标准总线类似,也是发送地址等待ack发送数据等待ACK,但是因为有硬件的自动参与,所以我们不需要延时了
|