• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32主频速度过快导致串口乱码

drepa 2017-08-22 浏览量:2157
如题,用的STM32F429作为MCU,当MCU主频过高(160MHz以上)时,串口数据发生乱码,需要调整MCU主频至160MHz以下,串口才能正常工作,请问这是什么原因呢?
-2 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

其他答案 数量:7
  • 看下此时串口的波特率设置为多少,如果发生乱码,可能不是STM32F429的原因(主频过高,只要波特率不乱就可以),很可能是外围电路及接收电路芯片不支持那么高的波特率。

    建议在高波特率的情况下用示波器抓下TX,RX的波形有没有产生畸变。

    • 发布于2017-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议用示波器看下数据线上的波形,看bit位宽有无误差。
    • 发布于2017-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 不太可能啊,只要时钟配置是对的,波特率是对的,不太可能发生这种情况,别说了168M了,我超到200M串口都能正常使用
    • 发布于2017-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 429主频是180m最高,超频太多只会死机。
    • 发布于2017-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • STLINK也有速度限制喔

    您要考慮這點


    • 发布于2017-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 跟主频没有太大关系,STM32F429的默认主频就是180MHz,默认主频下串口数据还会出错了,ST早就下架产品回炉重造了,我认为数据出错并不是因为串口所在的APB总线数据出错,而是跟串口收发的硬件工具有关系。我用CH340直接接在引脚上面,再连到电脑上面用串口调试助手收,完全没有任何乱码。楼主应该是用Nucleo或者Disco这种STLINK虚拟串口的板子,STLINK的MCU是STM32F103RBT6,主频最高72MHz,间接导致180MHz的串口数据乱码。

    • 发布于2017-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口乱码,可能跟主频没关系吧,个人理解哈
    • 发布于2017-08-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32主频速度过快导致串口乱码