STM32
登录
直播中
surround
12年用户
553经验值
私信
关注
[问答]
请问STM32串口通信乱码怎么解决?
开启该帖子的消息推送
STM32
请问
STM32
串口
通信
乱码怎么解决?
回帖
(1)
李童
2021-12-6 14:01:36
STM32串口通信以及温度采集搞定,其中主要遇到STM32系列单片机时钟树的问题,串口通信遇到串口调试助手能够接收到数据但出现乱码现象,开始一直以为是串口配置和程序代码问题,因为是第一次上电在线调试STM32板子,后面主要查串口波特率配置和收发函数程序段,如下图:
波特率设置成115200没问题,试着降低波特率改成9600和4800但问题依旧没有解决,紧接着如下处理:
将重定向函数注释,单独写串口发送字节和字符串函数,依旧失败。最后锁定到系统时钟配置上,由于手上的STM32开发板改用了12M的晶振,根据单片机时钟树的理解和解读,一般采用外部时钟HSE,系统时钟配置成72M,8*9=72,,12*6=72,对于 SYSCLK、HCLK、PCLK2、PCLK1 这四个时钟的配置一般是:PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,PCLK1=HCLK/2= 36M。UART1挂载在APB2总线,而PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,
因此在system_stm32f10x.c文件中的setsysclockto72()函数中,(system_stm32f10x.c文件实现了 STM32的时钟配置,操作的是片上的 RCC这个外设统在上电之后,首选会执行由汇编编写的启动文件,启动文件中的复位函数中调用systemInit 函数就在这个文件里面定义。systemInit 函数默认调用setsysclockto72()配置系统时钟,系统的时钟就被初始化成 72M。)这样便将系统时钟配置成了72M,否则为12*9=108M。但测试运行仍然接收到乱码。
继续找问题所在,查看 在stm32f10x.h里,有下面这段代码,
原因是库使用默认8MHz晶振,可以通过宏使用25MHz或12M晶振。具体定义在stm32f10x.h文件中,HSE_VALUE,一开始定义成了8000000,改成12000000搞定,串口通信显示正常。
STM32串口通信以及温度采集搞定,其中主要遇到STM32系列单片机时钟树的问题,串口通信遇到串口调试助手能够接收到数据但出现乱码现象,开始一直以为是串口配置和程序代码问题,因为是第一次上电在线调试STM32板子,后面主要查串口波特率配置和收发函数程序段,如下图:
波特率设置成115200没问题,试着降低波特率改成9600和4800但问题依旧没有解决,紧接着如下处理:
将重定向函数注释,单独写串口发送字节和字符串函数,依旧失败。最后锁定到系统时钟配置上,由于手上的STM32开发板改用了12M的晶振,根据单片机时钟树的理解和解读,一般采用外部时钟HSE,系统时钟配置成72M,8*9=72,,12*6=72,对于 SYSCLK、HCLK、PCLK2、PCLK1 这四个时钟的配置一般是:PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,PCLK1=HCLK/2= 36M。UART1挂载在APB2总线,而PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,
因此在system_stm32f10x.c文件中的setsysclockto72()函数中,(system_stm32f10x.c文件实现了 STM32的时钟配置,操作的是片上的 RCC这个外设统在上电之后,首选会执行由汇编编写的启动文件,启动文件中的复位函数中调用systemInit 函数就在这个文件里面定义。systemInit 函数默认调用setsysclockto72()配置系统时钟,系统的时钟就被初始化成 72M。)这样便将系统时钟配置成了72M,否则为12*9=108M。但测试运行仍然接收到乱码。
继续找问题所在,查看 在stm32f10x.h里,有下面这段代码,
原因是库使用默认8MHz晶振,可以通过宏使用25MHz或12M晶振。具体定义在stm32f10x.h文件中,HSE_VALUE,一开始定义成了8000000,改成12000000搞定,串口通信显示正常。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
请问
stm32
串口
通信
数据
乱码
怎么解决?
2021-12-06
1280
如何解决
STM32
串口
通信
乱码
问题?
2021-12-09
1480
如何解决
stm32
f103
串口
通信
乱码
问题?
2021-12-06
1069
stm32
串口
通信
出现
乱码
以及晶振不同导致的问题怎么解决?
2022-02-18
2009
stm32
f105
串口
有规律
乱码
2016-12-27
4025
STM32
串口
发送字符
串
出现
乱码
怎么解决?
2022-02-18
2204
如何解决
STM32
串口
uart输出
乱码
问题?
2021-12-15
1966
如何解决
stm32
f103
串口
通讯
乱码
问题?
2021-12-06
1340
STM32
串口
发送字符
串
出现
乱码
如何解决?
2021-12-03
1480
怎样去解决
STM32
F407
串口
发送数据
乱码
的问题
2021-12-06
1828
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分