你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
GKoSon 提问时间:2018-4-21 12:41 /
前几天做了串口收发实验,今天换了个板子继续操作,结果。。。。不能重现当天的效果!
串口打印的是乱码!
找了找,原来当天的板子是普普通通的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

收藏 评论2 发布时间:2018-4-21 12:41

举报

2个回答
maxtch 回答时间:2018-4-22 04:12:40
ST 给的启动文件其实是不支持 12M 外部频率的。改一下启动代码吧,把 PLL 从 9 倍频改成 6 倍频。
x5y4z3 回答时间:2018-4-22 07:04:10
一直使用 8Mhz 晶振的路过!~
使用 8Mhz 整的晶振肯定多少是会有 Baudrate Deviation Error,所以每次送收的 Frame 尽可能的短些...
这样每一个 Byte 的起始位元比较能被同步侦测到而错误率较低些。
不然还有一种方式,就是在 UART 的协议层自订一些纠错的功能,如此也能改善 Baudrate Error 所产生的问题。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版