最近学习STM32开发,申请了一块免费的开发版,按照书上的内容学习,学到USART,发现串口输出始终乱码,妈蛋的,搞不懂为啥,代码啥的都是按照书上来的啊,最后搜索很久,发现是外部时钟频率配置错误导致的,库使用默认8MHz晶震,可以通过宏使用25MHz晶震。具体定义在stm32f10x.h文件中
这里提供了实用8MHz或者25MHz晶震,但是我2个都尝试了,还是乱码,最后一想,是不是我的开发版晶震不是这个值哦,最后拿着开发版一看,妈蛋的,果然不是,而是使用的12MHz晶震,立马自己定义一个宏修改成12000000,编译,烧写,一下就对了。坑啊!
怎么看自己的开发版晶震是多少,看图
然后修改上面的代码,加一个宏定义就可以了,如下所示:
这样即可正常工作罗!!!!
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
在串口通信实验中出现通信乱码怎么办(2024-03-18)
在串口通信实验中出现通信乱码怎么办;在串口通信实验中,如果出现了通信乱码问题,如图
串口通信成功了,但是接收的数据是乱码,可以从以下几个方面解决:
1,PC端和MCU的波特率是否一致
2,MCU......
STM32单片机外部晶振配置时钟设置(2023-09-06)
STM32单片机外部晶振配置时钟设置;学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STM32103F103RB芯片,使用的外部晶振是12M。
串口读取的是乱码
默认......
STM32速成笔记(5)—串口通信(2024-02-27)
); // 根据指定的参数初始化VIC寄存器
// USART 初始化设置
USART_InitStructure.USART_BaudRate = bound; // 串口波特率......
单片机数据通信怎么学?这个工具要用好:串口通信(2022-12-08)
输入输出模式就可以了。
2)串口主要参数设置(直接看程序)
串口参数配置无法就是配置串口的波特率、数据格式、停止位、奇偶校验、硬件流、收发模式。除了波特率需要改变其他的参数都不需要管。直接复制拿来用。3)串口中断配置串口......
单片机数据通信学习中串口有多重要?(2024-07-12)
通信就是可以把程序在单片机或者STM32芯片中运行的结果发送到电脑的一种通信方式。如何使用串口通讯,你需要知道的几个重要的知识点:
1.波特率。(数据传输的速度,两个设备在通信时的速度要设置......
STM32串口波特率大小计算案例(2023-07-11)
于表示整数。但是它还不是我们想要设置的波特率,想要设置我们串口的波特率大小还需要进行计算。其实有关波特率的计算是下面这一条表达式:
从上面的表达式,我们引入了一个新量USARTDIV,它表示对串口的时钟源fck......
STM32串口波特率大小计算(2023-04-03)
于表示小数,后 12 位用于表示整数。但是它还不是我们想要设置的波特率,想要设置我们串口的波特率大小还需要进行计算。其实有关波特率的计算是下面这一条表达式:
从上面的表达式,我们引入了一个新量 USARTDIV......
知道STM32串口通信乱码要怎么处理吗(2023-05-05)
配置和程序代码问题,因为是第一次上电在线调试STM32板子,后面主要查串口波特率配置和收发函数程序段,如下图:
波特率设置成115200没问题,试着降低波特率改成9600和4800但问......
STM32串口通信数据乱码的相关问题(2023-05-05)
配置和程序代码问题,因为是第一次上电在线调试STM32板子,后面主要查串口波特率配置和收发函数程序段,如下图:
波特率设置成115200没问题,试着降低波特率改成9600和4800但问题依旧没有解决,紧接......
STM32 IO模拟串口程序(2024-03-04)
(sometime);
}
代码很简单,思路也很清晰,完全是按照异步传输的过程写的。这里最重要的是Delay(sometime),sometime的延时时间就决定了传输的速度,sometime去取某些值才可以设置程序标准的串口波特率......