找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4511|回复: 0
打印 上一主题 下一主题
收起左侧

stm32f103串口通信乱码问题解决方法

[复制链接]
跳转到指定楼层
楼主
本人利用的是中国移动赠送的麒麟开发板,在进行串口通信的实验时,采用正点原子的代码,发现会一直出现乱码的情况。经过两天时间的排查,最终发现是晶振的问题,麒麟开发板使用的外部晶振是12M的,但是正点原子的代码使用的是8M的晶振,下面演示修改前后的变化过程。(注意,波特率的设置也需要一样)

利用串口1需要发送的内容:



串口接收到的信息:




修改system_stm32f10x.c文件中的晶振分频为6分频,因为自己用的麒麟开发板是12M的,12×9 = 108M,需要改成六分频,12×6 = 72M:



现在修改为六分频:




我们再来看一次现在是不是不乱码了,发现还是乱码:




接下来修改stm32f10x.h文件中的宏定义,看到默认的是8000000的,我们把它改成我们需要的12000000








现在再来看看上位机接收到的数据吧:终于正常啦~




心得:在玩stm32这种资源丰富的开发板的时候,一定要注意开发板的晶振和代码里设置的晶振是不是一样的,不然就会出现很多异常的问题




评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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