串行时钟发生器用来产生 I2C 通信的波特率时钟 SCL。串行时钟发生器采用 PCLK 作为输入时钟,通过 1 个 8bit的计数器计数,输出所需波特率的 I2C 时钟信号。
SCL 时钟频率计算公式:
f SCL = f PCLK / 8 / ( BRR + 1 )
其中,BRR 通过波特率计数器配置寄存器 I2Cx_BRR 配置,BRR 有效范围为 1 ~ 255。
串行时钟发生器的计数器计数由 I2Cx_BRREN 寄存器的 EN 位域使能,EN 为 1 使能,为 0 禁止。主机时应设置EN 为 1,从机时该位不影响。
|