STM32/STM8技术william hill官网
直播中

刘兴欢

7年用户 162经验值
私信 关注
[问答]

STM32波特率设置14400不断的丢字节



STM32F1单片机使用的是内部时钟。波特率设置9600内是没有问题的。把波特率设置14400 上位机还是可以连接上的,但不断的丢字节。然而我把上位机波特率降低设置成9600内,通讯正常。请大侠分析下。

补充问题:波特率设置到20000,连字节也不丢了,直接通讯不上了。


补充1:时钟校正效果一样


补充2:时钟配置

回帖(26)

万腾龙

2018-12-27 09:11:57
波特率指的是串口的波特率吗,用示波器看看0x55,0xaa的波形周期是否正确,如果周期不正确检查下时钟的而配置,如果使用的内部的HSI,有可能需要校正下时钟
举报

刘翔宇

2018-12-27 09:30:42
外部有其他威廉希尔官方网站 吗?假如有光耦什么的话就要看看光耦的速率,电阻什么的
举报

孙婷婷

2018-12-27 09:46:24
楼主用的是哪个内部时钟,怀疑是内部时钟频率达不到对高波特率的支持。103需要把时钟配置到72Mhz。
举报

李海洪

2018-12-27 10:06:13
波特率再高都没问题的,但是一定要保证电脑的与单片机的波特率一致,你检测一下就知道了。
举报

王官君

2018-12-27 10:19:02
单片机接收也会像这样吗?
举报

刘兴欢

2018-12-27 10:34:18
引用: 毛毛lallala 发表于 2018-12-27 18:31
波特率指的是串口的波特率吗,用示波器看看0x55,0xaa的波形周期是否正确,如果周期不正确检查下时钟的而配置,如果使用的内部的HSI,有可能需要校正下时钟

怎么校正呢?
举报

刘锦

2018-12-27 10:43:53
发送频率太高?
举报

刘兴欢

2018-12-27 10:50:04
引用: bbslsk 发表于 2018-12-27 18:50
外部有其他威廉希尔官方网站 吗?假如有光耦什么的话就要看看光耦的速率,电阻什么的

不经过光耦,改用TTL连接方式,都一样。
举报

刘兴欢

2018-12-27 10:56:25
引用: TOPCB 发表于 2018-12-27 19:06
楼主用的是哪个内部时钟,怀疑是内部时钟频率达不到对高波特率的支持。103需要把时钟配置到72Mhz。

用了内部时钟,然后PLL 24M
举报

刘兴欢

2018-12-27 11:05:05
引用: lizhongrui 发表于 2018-12-27 19:38
单片机接收也会像这样吗?

是的。
举报

王官君

2018-12-27 11:15:52

感觉像时钟问题,你用cube配置个高波特率的程序试试?
举报

刘兴欢

2018-12-27 11:28:30
引用: lizhongrui 发表于 2018-12-27 20:35
感觉像时钟问题,你用cube配置个高波特率的程序试试?

我用的是标准库函数
举报

刘兴欢

2018-12-27 11:37:55
引用: 玫瑰十一朵玲玲 发表于 2018-12-27 20:48
我用的是标准库函数

我也感觉是这方面的问题。就是想不出那里。
举报

孙婷婷

2018-12-27 11:50:38
楼主看一下你的时钟配置函数。用的外部晶振还是内部的?
举报

刘兴欢

2018-12-27 12:02:59
引用: TOPCB 发表于 2018-12-27 21:10
楼主看一下你的时钟配置函数。用的外部晶振还是内部的?

用了内部的
举报

曹兵

2018-12-27 12:18:23
115200 呢? 还会有丢包现象吗
举报

周灿金

2018-12-27 12:32:15
你把波特率修改为19200试试,如果有丢数据,说明可能是时钟配置或者晶振的问题。
还有你用的PCLKx到底是多少?
举报

刘兴欢

2018-12-27 12:47:02
引用: 60user36 发表于 2018-12-27 21:52
你把波特率修改为19200试试,如果有丢数据,说明可能是时钟配置或者晶振的问题。
还有你用的PCLKx到底是多少?

19200,一样效果

下图是时钟配置
举报

周灿金

2018-12-27 12:55:54
引用: 玫瑰十一朵玲玲 发表于 2018-12-27 22:06
19200,一样效果

下图是时钟配置

设置RCC时钟源及倍频,你是打算配置为24MHz吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分