关于GD32F350G4U6 串口波特率问题

[复制链接]
1396|29
手机看帖
扫描二维码
随时随地手机跟帖
MapoPlus|  楼主 | 2022-11-17 22:53 | 显示全部楼层 |阅读模式
#21ic问答#
各位大佬们好,想请教一个问题
在技术手册上看在108M主频,过采样为8的条件下,最高可达6.75Mbit/s,我配置成4M速率进行单字节传输,在一些比如0x55,这样的值却有大约50%左右的误码率。
我把波特率降到3.8M时,就完全没有误码率,这个是什么原因导致的呢

使用特权

评论回复
MapoPlus|  楼主 | 2022-11-17 22:56 | 显示全部楼层
我用两个STM32f103的板子在4M的波特率下传输一字节就没有问题;拿其中一个STM32板子和GD32f350通讯就会有误码的问题出现,之间的传输距离也非常短

使用特权

评论回复
sonicll| | 2022-11-18 09:13 | 显示全部楼层
系统时钟是用外部晶振倍频的还是用的内部?内部晶振频率误差本身就比较大

使用特权

评论回复
chenqianqian| | 2022-11-19 10:59 | 显示全部楼层
同问,内部晶振还是外部晶振?

使用特权

评论回复
daichaodai| | 2022-11-19 17:39 | 显示全部楼层
用的内部RC时钟源嘛?

使用特权

评论回复
MapoPlus|  楼主 | 2022-11-19 18:50 | 显示全部楼层
sonicll 发表于 2022-11-18 09:13
系统时钟是用外部晶振倍频的还是用的内部?内部晶振频率误差本身就比较大 ...

外部8M

使用特权

评论回复
MapoPlus|  楼主 | 2022-11-19 18:56 | 显示全部楼层
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使用这两部分组合所得的数值来确定波特率。
主频改为96M,APB1频率二分频,APB1的频率是串口4M的整数倍,不要小数部分来保证波特率的精确

使用特权

评论回复
LOVEEVER| | 2022-11-22 18:28 | 显示全部楼层
确实这个预分频是给外设部分进行频率设置的,有时候这些细节确认不好的话会存在这个问题

使用特权

评论回复
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

挺好的,有时候这个APB1\APB2这些时钟总线确实对挂在上面的外设影响比较大

使用特权

评论回复
AdaMaYun| | 2022-11-23 11:25 | 显示全部楼层
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

波特率发生器这个设置部分有详细的参数资料嘛,想具体看一下,谢谢!

使用特权

评论回复
MapoPlus|  楼主 | 2022-12-4 12:51 | 显示全部楼层
AdaMaYun 发表于 2022-11-23 11:25
波特率发生器这个设置部分有详细的参数资料嘛,想具体看一下,谢谢!

手册上串口部分会细讲

使用特权

评论回复
MapoPlus|  楼主 | 2022-12-4 12:51 | 显示全部楼层
小小蚂蚁举千斤 发表于 2022-11-22 18:37
挺好的,有时候这个APB1\APB2这些时钟总线确实对挂在上面的外设影响比较大 ...

对,这就是很细节的点了

使用特权

评论回复
tpgf| | 2022-12-7 10:00 | 显示全部楼层
不同的波特率的误码率不同  有可能3.8的误码率就符合要求了

使用特权

评论回复
drer| | 2022-12-7 10:21 | 显示全部楼层
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

也就是寄存器中波特率的设置出现问题了

使用特权

评论回复
tfqi| | 2022-12-7 10:37 | 显示全部楼层
MapoPlus 发表于 2022-11-17 22:56
我用两个STM32f103的板子在4M的波特率下传输一字节就没有问题;拿其中一个STM32板子和GD32f350通讯就会有误 ...

两个板子的主控芯片不同 那么主频 晶振 都会有差异

使用特权

评论回复
coshi| | 2022-12-7 11:24 | 显示全部楼层
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

呵呵呵  我理解目的就是让发送方和接收方的波特率一致就行是吧

使用特权

评论回复
kxsi| | 2022-12-7 11:39 | 显示全部楼层
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

如果不需要小数部分来保证精度的话 说明其容错率还是很不错的

使用特权

评论回复
wiba| | 2022-12-7 11:51 | 显示全部楼层
MapoPlus 发表于 2022-11-19 18:56
问题解决了,在串口中,波特率分频系数是一个16位的数字,包含12位整数部分和4位小数部分。波特率发生器使 ...

在手册的介绍中 分频系数只有这一种寄存器写入方式吗

使用特权

评论回复
MessageRing| | 2022-12-20 18:53 | 显示全部楼层
用的是内部晶振还是外部晶振?

使用特权

评论回复
jf101| | 2022-12-24 14:44 | 显示全部楼层
MessageRing 发表于 2022-12-20 18:53
用的是内部晶振还是外部晶振?

外部8M的晶振,楼主这个问题是波特率设置的问题,确实这种问题发生的概率还是比较大的

使用特权

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

本版积分规则

2

主题

11

帖子

0

粉丝