打印
[STM32F1]

STM32F101R6B 波特率问题

[复制链接]
651|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
13524604375|  楼主 | 2019-3-14 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 13524604375 于 2019-3-14 19:54 编辑

STM32F101R6B 这颗料在我们产品中URAT1一直都是使用波特率最高57600,没遇到问题。
今天有个案子需要用到115200波特率,我用该波特率初始化串口后,用多个串口调试软件收到的都是乱码,只要把该串口波特率降低为57600,软件收到的数据就正常了。
这段代码是驱动在计算BRR的整数和分数。
我也检查了驱动的公式,并手动计算了一遍57600和115200波特率BRR的整数和分数,都是OK的。


我用计算器依靠驱动里的公式算出来115200是 19.53125。
我用示波器观察了我司产品配置为115200时的bit宽度,5bit宽100μs,这也与115200波特率的位宽不符合。
请帮我分析一下问题可能出在哪里?
我用的8M晶振,检查过HSE,设置没问题 。

沙发
13524604375|  楼主 | 2019-3-14 16:57 | 只看该作者
自己顶一下。

使用特权

评论回复
板凳
13524604375|  楼主 | 2019-3-14 19:53 | 只看该作者
自己再顶,怎么看不见图了?

使用特权

评论回复
地板
13524604375|  楼主 | 2019-3-14 20:03 | 只看该作者
难道说是我这块板子的晶振误差过大?产品配置为115200波特率后,从示波器的bit宽度来看,UART1的波特率肯定不是115200,反而是接近57600,但不是57600,我用的串口调试软件又不能自定义波特率,我实在不知道怎么办了

使用特权

评论回复
5
13524604375|  楼主 | 2019-3-14 20:12 | 只看该作者
有人遇到过类似的问题吗?望各位不吝赐教!

使用特权

评论回复
6
hanzhen654| | 2019-3-14 22:33 | 只看该作者
是不是跟你硬件电路有关系啊?用的电容对吗?

使用特权

评论回复
7
hanzhen654| | 2019-3-14 22:33 | 只看该作者
找一块类似的开发板试一下

使用特权

评论回复
8
13524604375|  楼主 | 2019-3-15 09:37 | 只看该作者
谢谢hanzhen654的建议,应该不是电容问题,示波器看bit宽20μs了,完全不是115200应有的bit宽。我准备找个开发板,不过年代久远怕是找不到了

使用特权

评论回复
9
heimaojingzhang| | 2019-4-3 12:47 | 只看该作者
看不见图了啊

使用特权

评论回复
10
keaibukelian| | 2019-4-3 12:50 | 只看该作者
能看看代码吗

使用特权

评论回复
11
labasi| | 2019-4-3 12:54 | 只看该作者
虚拟仿真试试看

使用特权

评论回复
12
paotangsan| | 2019-4-3 12:57 | 只看该作者
感觉还是配置有问题

使用特权

评论回复
13
香水城| | 2019-4-3 14:18 | 只看该作者
115200的波特率对于STM32芯片来讲 非常常用的一个参数。

你检查下你的时钟及相关配置与硬件。

使用特权

评论回复
14
deadtime| | 2019-4-3 14:51 | 只看该作者
示波器看一下通讯波形有没有失真。

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝