请问GD32F407RE Usart2波特率超过2.8MMCU就直接卡死了是因为什么啊

[复制链接]
409|14
泽之南 发表于 2026-6-15 10:39 | 显示全部楼层 |阅读模式
本帖最后由 泽之南 于 2026-6-15 10:44 编辑

RT,用的是内部晶振,主频168M,GPIO选了200Mhz,2.8M以下一切正常,超过2.8M之后MCU完全卡死,灯都不亮了,可能有哪些原因呢
 楼主| 泽之南 发表于 2026-6-15 10:43 | 显示全部楼层
好像选错分类了,怎么改不掉.....
 楼主| 泽之南 发表于 2026-6-15 15:24 | 显示全部楼层
找到原因了,采样率默认16
Bowclad 发表于 2026-6-15 17:09 | 显示全部楼层
可能是USART采样率设置不当,默认16,超过2.8M波特率可能不兼容。试试调整采样率。
qinlu123 发表于 2026-6-16 08:25 | 显示全部楼层
串口跑那么高的波特率是用在啥场合
xinxianshi 发表于 2026-6-20 18:54 | 显示全部楼层
GD32F407 的 USART 外设时钟来自APB1 预分频时钟,USART2 挂载在 APB1 总线上
埃娃 发表于 2026-6-21 13:40 | 显示全部楼层
调整采样率还不够,APB1 预分频也要检查,别超过最大值。
Jacquetry 发表于 2026-6-24 20:02 | 显示全部楼层
采样率默认16确实可能导致不兼容,你试过把采样率调整为更高的值吗?同时,检查APB1预分频设置,确保不超过最大值。
Stahan 发表于 2026-6-25 10:24 | 显示全部楼层
APB1预分频设置过高,导致USART2时钟不稳定,试试降低预分频值。
ClarkLLOTP 发表于 2026-7-5 16:16 | 显示全部楼层
调整采样率到更高的值,同时检查APB1预分频设置,确保不超过最大值,必要时降低预分频值。
班杰明 发表于 2026-7-7 12:38 | 显示全部楼层
看来是你APB1预分频设置过高了,降一下预分频值试试。
天灵灵地灵灵 发表于 2026-7-14 12:53 | 显示全部楼层
短距离走线,TX/RX 增加 120Ω 终端匹配电阻
小灵通2018 发表于 2026-7-17 19:12 | 显示全部楼层
你卡死核心分硬件时钟上限、波特率分频溢出、溢出中断死循环、GPIO 驱动 / 时序、DMA / 缓存溢出、软件标志未清六大类
zhuotuzi 发表于 2026-7-21 15:02 | 显示全部楼层
你的临界点刚好卡在2.8M>2.625M(16 倍采样上限),一旦超过硬件接收采样窗口无法稳定采样比特,直接触发帧错误 (FE)、溢出错误 (ORE)、噪声错误 (NE)。
21mengnan 发表于 2026-8-10 12:17 | 显示全部楼层
开启 OVER8(8 倍过采样):上限 = 42M/8=5.25Mbps,才能突破 2.625M 瓶颈,你没开这个就是首要诱因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0