STM32F1串口最高波特率问题
查看datasheet,最高支持4.5M
查看代码中波特率变量说明
可以看到波特率取决于PCLKx,IntegerDivider,FractionalDivider即总线时钟,整数分频,小数分频。
查看BRR寄存器
这个地方的用词Mantissa应该不准确,Mantissa译为小数,这里其实是整数的分频配置。
对于寄存器具体配置无需仔细查看,只要将波特率设置好即可。但在使用最高波特率时,要将总线时钟配置为最高72M。
修改系统时钟时发现无法设置为72M 最大只能设置为64M,原因是没有开启外部高速时钟。
开启外部高速时钟
修改波特率,果然现在可以支持4.5M
但我使用的是USART2,挂载在APB1上,即无法达到4.5M
总结:STM32F1由于系统时钟最高72M,串口最高支持4.5M传输,但不是所有串口都可以配置为4.5M
PS:工控行业由于环境恶劣,一般不会使用超过115200的速度
響468: 没有作为从机的吗
leafhsh: 配置了4个通道,连续转换,失能连续读取,即一次读取一个数据。这款芯片如何读取多个通道的adc值?每次读取后的值对应的通道都不一样
予米: 请问,我用cubeIDE编译gd32的startup.s 文件报错,应该怎么解决呀
用户已注銷: 终于解决疑问了
twiceand: nxp的蓝牙协议栈有些许奇葩