搜索
查看: 3048|回复: 2

成功解决串口发送乱码问题

[复制链接]

该用户从未签到

40

主题

250

帖子

92

蝴蝶豆

金牌会员

最后登录
2024-4-19
发表于 2018-4-21 12:41:35 | 显示全部楼层 |阅读模式
前几天做了串口收发实验,今天换了个板子继续操作,结果。。。。不能重现当天的效果!
串口打印的是乱码!
找了找,原来当天的板子是普普通通的8M晶振的
QQ截图20180421123504.png
,今天的这个突然搞成12M晶振了!
QQ截图20180421123523.png

怎么办?跟串口的115200--N--8--1乱码是两码事,找:HSE_VALUE这个常量
HAL库默认是8M的 改成12M就好了。如图。
1.png
1HSI_VALUE这个不用看,一般都是用的HSE
2其实还有别的地方也有这个变量,貌似不用改。因为在上面的地方已经定义了,而且是先定义的。
3.png

回复

使用道具 举报

该用户从未签到

21

主题

1073

帖子

442

蝴蝶豆

论坛元老

最后登录
2021-5-10
发表于 2018-4-22 04:12:40 | 显示全部楼层
ST 给的启动文件其实是不支持 12M 外部频率的。改一下启动代码吧,把 PLL 从 9 倍频改成 6 倍频。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2022-7-6 00:03
  • 签到天数: 1559 天

    [LV.Master]

    0

    主题

    3214

    帖子

    110

    蝴蝶豆

    论坛元老

    最后登录
    2022-7-6
    发表于 2018-4-22 07:04:10 | 显示全部楼层
    一直使用 8Mhz 晶振的路过!~
    使用 8Mhz 整的晶振肯定多少是会有 Baudrate Deviation Error,所以每次送收的 Frame 尽可能的短些...
    这样每一个 Byte 的起始位元比较能被同步侦测到而错误率较低些。
    不然还有一种方式,就是在 UART 的协议层自订一些纠错的功能,如此也能改善 Baudrate Error 所产生的问题。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-29 20:38 , Processed in 1.168705 second(s), 38 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表