[STM32F1] STM32F101R6B 波特率问题

[复制链接]
 楼主| pengf 发表于 2021-2-5 23:52 | 显示全部楼层 |阅读模式
STM32F101R6B 这颗料在我们产品中URAT1一直都是使用波特率最高57600,没遇到问题。
今天有个案子需要用到115200波特率,我用该波特率初始化串口后,用多个串口调试软件收到的都是乱码,只要把该串口波特率降低为57600,软件收到的数据就正常了。
huanghuac 发表于 2021-2-5 23:54 | 显示全部楼层

然后呢?你是怎么应对这个的呢        
 楼主| pengf 发表于 2021-2-5 23:56 | 显示全部楼层
这段代码是驱动在计算BRR的整数和分数。
songqian17 发表于 2021-2-5 23:58 | 显示全部楼层
检查下驱动的公式
 楼主| pengf 发表于 2021-2-6 10:04 | 显示全部楼层
检查了驱动的公式,并手动计算了一遍57600和115200波特率BRR的整数和分数,都是OK的。
 楼主| pengf 发表于 2021-2-6 10:06 | 显示全部楼层
用计算器依靠驱动里的公式算出来115200是 19.53125。
yufe 发表于 2021-2-6 10:10 | 显示全部楼层
用示波器观察
houcs 发表于 2021-2-6 10:12 | 显示全部楼层
用示波器观察了我司产品配置为115200时的bit宽度,5bit宽100μs,这也与115200波特率的位宽不符合。
chenjunt 发表于 2021-2-6 10:16 | 显示全部楼层
帮我分析一下问题可能出在哪里?
xxmmi 发表于 2021-2-6 10:20 | 显示全部楼层
我用的8M晶振,检查过HSE,设置没问题 。
 楼主| pengf 发表于 2021-2-6 10:23 | 显示全部楼层
难道说是我这块板子的晶振误差过大?
 楼主| pengf 发表于 2021-2-6 10:25 | 显示全部楼层
产品配置为115200波特率后,从示波器的bit宽度来看,UART1的波特率肯定不是115200,反而是接近57600,但不是57600,我用的串口调试软件又不能自定义波特率,我实在不知道怎么办了
huwr 发表于 2021-2-6 10:30 | 显示全部楼层
是不是跟你硬件电路有关系啊?
ousj 发表于 2021-2-6 10:34 | 显示全部楼层
用的电容对吗?
huanghuac 发表于 2021-2-6 10:48 | 显示全部楼层
找一块类似的开发板试一下
 楼主| pengf 发表于 2021-2-6 10:50 | 显示全部楼层
应该不是电容问题,示波器看bit宽20μs了,完全不是115200应有的bit宽
 楼主| pengf 发表于 2021-2-6 10:51 | 显示全部楼层
我准备找个开发板,不过年代久远怕是找不到了
zhuhuis 发表于 2021-2-6 10:53 | 显示全部楼层
能看看代码吗
zwll 发表于 2021-2-6 10:55 | 显示全部楼层
虚拟仿真试试看
xxmmi 发表于 2021-2-6 10:57 | 显示全部楼层
感觉还是配置有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝

718

主题

10129

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部