打印

GD32F305奇怪串口问题求助

[复制链接]
9464|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ftnkn|  楼主 | 2024-2-18 17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
片子用的是GD32F305,外部8M晶振;原来用的是STM32F105,代码也是基于ST的库写的,一切正常;
现在想用GD的库重写代码,官方推荐的是25M的晶振,和晶振相关的头文件定义和函数也修改了,串口用的是USART2,也是就是ST里的USART3;波特率是921600,ST的库串口正常,换成GD库后串口速度变慢了,请问大家如何解决?

使用特权

评论回复

相关帖子

沙发
玄德| | 2024-2-18 18:43 | 只看该作者

两个方法。
要么搞清楚时钟树,正确配置一下,使各个时钟源和 ST 芯片一样。
要么搞清串口的源时钟的频率,按需要的波特率修改一下配置寄存器。

使用特权

评论回复
板凳
ldw522| | 2024-2-19 09:34 | 只看该作者
楼上是对的

使用特权

评论回复
地板
ftnkn|  楼主 | 2024-2-19 11:27 | 只看该作者

我用 rcu_clock_freq_get 获取了下  CK_SYS、 CK_AHB、CK_APB1、CK_APB2的时钟,分别是120M,120M,60M和120M,看起来挺正常的,我用的8M外部晶振,但也按照教程改了频率跑到120M,用GD的库串口同样的几个收发请求要2秒多,而用ST库跑72M时用不到1秒,请问该如何继续往下查?

使用特权

评论回复
5
ftnkn|  楼主 | 2024-2-19 11:28 | 只看该作者
玄德 发表于 2024-2-18 18:43
两个方法。
要么搞清楚时钟树,正确配置一下,使各个时钟源和 ST 芯片一样。
要么搞清串口的源时钟的频率 ...

我用 rcu_clock_freq_get 获取了下  CK_SYS、 CK_AHB、CK_APB1、CK_APB2的时钟,分别是120M,120M,60M和120M,看起来挺正常的,我用的8M外部晶振,但也按照教程改了频率跑到120M,用GD的库串口同样的几个收发请求要2秒多,而用ST库跑72M时用不到1秒,请问该如何继续往下查?

使用特权

评论回复
6
玄德| | 2024-2-19 15:30 | 只看该作者

几个收发请求要2秒多

这话是什么意思?



使用特权

评论回复
7
ftnkn|  楼主 | 2024-2-19 15:34 | 只看该作者
问题解决了,串口没问题,是我测试程序的问题

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝