STM32
登录
直播中
恩可口
8年用户
735经验值
私信
关注
[问答]
如何解决stm32f103串口通信乱码问题?
开启该帖子的消息推送
如何解决
STM32
f103串口
通信
乱码问题?
回帖
(1)
李泳瑜
2021-12-6 10:01:03
本人利用的是中国移动赠送的麒麟开发板,在进行串口通信的实验时,采用正点原子的代码,发现会一直出现乱码的情况。经过两天时间的排查,最终发现是晶振的问题,麒麟开发板使用的外部晶振是12M的,但是正点原子的代码使用的是8M的晶振,下面演示修改前后的变化过程。
(注意,波特率的设置也需要一样)
利用串口1需要发送的内容:
串口接收到的信息:
修改system_stm32f10x.c文件中的晶振分频为6分频,因为自己用的麒麟开发板是12M的,12×9 = 108M,需要改成六分频,12×6 = 72M
现在修改为六分频
我们再来看一次现在是不是不乱码了,发现还是乱码:
接下来修改stm32f10x.h文件中的宏定义,看到默认的是8000000的,我们把它改成我们需要的12000000
现在再来看看上位机接收到的数据吧:终于正常啦~
心得:在玩stm32这种资源丰富的开发板的时候,一定要注意开发板的晶振和代码里设置的晶振是不是一样的,不然就会出现很多异常的问题
本人利用的是中国移动赠送的麒麟开发板,在进行串口通信的实验时,采用正点原子的代码,发现会一直出现乱码的情况。经过两天时间的排查,最终发现是晶振的问题,麒麟开发板使用的外部晶振是12M的,但是正点原子的代码使用的是8M的晶振,下面演示修改前后的变化过程。
(注意,波特率的设置也需要一样)
利用串口1需要发送的内容:
串口接收到的信息:
修改system_stm32f10x.c文件中的晶振分频为6分频,因为自己用的麒麟开发板是12M的,12×9 = 108M,需要改成六分频,12×6 = 72M
现在修改为六分频
我们再来看一次现在是不是不乱码了,发现还是乱码:
接下来修改stm32f10x.h文件中的宏定义,看到默认的是8000000的,我们把它改成我们需要的12000000
现在再来看看上位机接收到的数据吧:终于正常啦~
心得:在玩stm32这种资源丰富的开发板的时候,一定要注意开发板的晶振和代码里设置的晶振是不是一样的,不然就会出现很多异常的问题
举报
更多回帖
rotate(-90deg);
回复
相关问答
如
何解
决
stm32f103
串口
通讯
乱码
问题?
2021-12-06
1315
stm32f
105
串口
有规律
乱码
2016-12-27
4002
如
何解
决
STM32
串口
通信
乱码
问题?
2021-12-09
1459
如
何解
决
STM32F103
串口
BUG?
2021-12-02
573
STM32F103
串口
怎么使用?
2021-12-03
866
STM32F103
的USART3
串口
DMA接收缓冲区发生错误的原因
2021-12-09
1693
如
何解
决
STM32
串口
打印输出
乱码
的问题?
2021-12-13
1885
Stm32f103
串口
一与
串口
二之间是如何进行
通信
的
2021-12-14
1966
用
STM32F103
串口
输出数据的时好时坏的原因?
2021-12-07
921
STM32F103
串口
1与
串口
3相同代码却结果不同的原因?如
何解
决?
2021-12-07
994
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分