STM32 I2C中CR1控制器
时间: 2024-06-15 19:09:08 浏览: 228
STM32中的I2C控制器是通过CR1寄存器来进行配置和控制的。CR1寄存器是I2C控制寄存器1,用于设置I2C的工作模式、使能I2C、配置时钟等参数。
CR1寄存器的位域如下:
- Bit 0:PE(Peripheral Enable)使能位,用于使能或禁用I2C控制器。
- Bit 1:TXIE(Transmit Interrupt Enable)发送中断使能位,用于使能或禁用发送中断。
- Bit 2:RXIE(Receive Interrupt Enable)接收中断使能位,用于使能或禁用接收中断。
- Bit 3:ADDRIE(Address Match Interrupt Enable)地址匹配中断使能位,用于使能或禁用地址匹配中断。
- Bit 4:NACKIE(Not Acknowledge Interrupt Enable)非应答中断使能位,用于使能或禁用非应答中断。
- Bit 5:STOPIE(Stop Detection Interrupt Enable)停止检测中断使能位,用于使能或禁用停止检测中断。
- Bit 6:TCIE(Transfer Complete Interrupt Enable)传输完成中断使能位,用于使能或禁用传输完成中断。
- Bit 7:ERRIE(Error Interrupt Enable)错误中断使能位,用于使能或禁用错误中断。
- Bit 8:DNF(Digital Noise Filter)数字噪声滤波器位域,用于配置数字噪声滤波器的滤波系数。
- Bit 10:ANFOFF(Analog Noise Filter OFF)模拟噪声滤波器使能位,用于使能或禁用模拟噪声滤波器。
- Bit 11:TXDMAEN(DMA Transmission Requests Enable)DMA发送请求使能位,用于使能或禁用DMA发送请求。
- Bit 12:RXDMAEN(DMA Reception Requests Enable)DMA接收请求使能位,用于使能或禁用DMA接收请求。
- Bit 13:SBC(Slave Byte Control)从机字节控制位,用于配置从机字节控制。
- Bit 14:NOSTRETCH(Clock Stretching Disable)时钟拉伸禁止位,用于禁止时钟拉伸。
- Bit 15:GCEN(General Call Enable)广播地址使能位,用于使能或禁用广播地址。
- Bit 16:SMBHEN(SMBus Host Address Enable)SMBus主机地址使能位,用于使能或禁用SMBus主机地址。
- Bit 17:SMBDEN(SMBus Device Default Address Enable)SMBus设备默认地址使能位,用于使能或禁用SMBus设备默认地址。
- Bit 18:ALERTEN(SMBus Alert Enable)SMBus警报使能位,用于使能或禁用SMBus警报。
以上是CR1寄存器的各个位域的功能和作用。通过配置CR1寄存器的不同位域,可以实现对I2C控制器的灵活控制和配置。
阅读全文