打印
[STM32F1]

STM32F101R6B 波特率问题

[复制链接]
721|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
检查下驱动的公式

使用特权

评论回复
5
pengf|  楼主 | 2021-2-6 10:04 | 只看该作者
检查了驱动的公式,并手动计算了一遍57600和115200波特率BRR的整数和分数,都是OK的。

使用特权

评论回复
6
pengf|  楼主 | 2021-2-6 10:06 | 只看该作者
用计算器依靠驱动里的公式算出来115200是 19.53125。

使用特权

评论回复
7
yufe| | 2021-2-6 10:10 | 只看该作者
用示波器观察

使用特权

评论回复
8
houcs| | 2021-2-6 10:12 | 只看该作者
用示波器观察了我司产品配置为115200时的bit宽度,5bit宽100μs,这也与115200波特率的位宽不符合。

使用特权

评论回复
9
chenjunt| | 2021-2-6 10:16 | 只看该作者
帮我分析一下问题可能出在哪里?

使用特权

评论回复
10
xxmmi| | 2021-2-6 10:20 | 只看该作者
我用的8M晶振,检查过HSE,设置没问题 。

使用特权

评论回复
11
pengf|  楼主 | 2021-2-6 10:23 | 只看该作者
难道说是我这块板子的晶振误差过大?

使用特权

评论回复
12
pengf|  楼主 | 2021-2-6 10:25 | 只看该作者
产品配置为115200波特率后,从示波器的bit宽度来看,UART1的波特率肯定不是115200,反而是接近57600,但不是57600,我用的串口调试软件又不能自定义波特率,我实在不知道怎么办了

使用特权

评论回复
13
huwr| | 2021-2-6 10:30 | 只看该作者
是不是跟你硬件电路有关系啊?

使用特权

评论回复
14
ousj| | 2021-2-6 10:34 | 只看该作者
用的电容对吗?

使用特权

评论回复
15
huanghuac| | 2021-2-6 10:48 | 只看该作者
找一块类似的开发板试一下

使用特权

评论回复
16
pengf|  楼主 | 2021-2-6 10:50 | 只看该作者
应该不是电容问题,示波器看bit宽20μs了,完全不是115200应有的bit宽

使用特权

评论回复
17
pengf|  楼主 | 2021-2-6 10:51 | 只看该作者
我准备找个开发板,不过年代久远怕是找不到了

使用特权

评论回复
18
zhuhuis| | 2021-2-6 10:53 | 只看该作者
能看看代码吗

使用特权

评论回复
19
zwll| | 2021-2-6 10:55 | 只看该作者
虚拟仿真试试看

使用特权

评论回复
20
xxmmi| | 2021-2-6 10:57 | 只看该作者
感觉还是配置有问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

10129

帖子

3

粉丝