stm32使用官方库代码串口乱码问题(外部晶振设置)

在使用STM32官方库进行串口通信时遇到乱码问题,经排查发现与STM32F4xx.h文件中外部高速晶振的设置有关。官方库默认为25MHz,而实际开发板可能使用8MHz,导致串口波特率计算错误。解决办法是根据实际晶振频率调整头文件中的宏定义,确保串口时钟源配置正确。
摘要由CSDN通过智能技术生成

stm32使用官方库代码串口乱码问题(外部晶振设置)

问题产生

引子
早段时间去学了一些算法,然后stm32的东西已经忘光了,然后现在想自己组织课程从头学习一下,把stm32芯片内的外设配置大概过一遍,也就是都写一个简单的程序作为热身这样子。
虽然正点原子、野火、硬石之类的stm32教学的大佬给出了大量的宝贵资源,但是我只是想编写一些简单的demo作为自己的热身之用,相对于他们的每个课程的实验设计显得很繁杂,于是乎,使用的资源锁定在了stm32的官方标准库自带的例程里。
官方标准库的例程可以说相当精简了,而且充分表现了stm32处理器的特性。
于是乎,我是按照stm32官方标准库内的资料提示,建立了MDK下的工程
但是呢,因为学生党放假在家嘛,手里拿的是启明stm32f4的板子,想着它的板载资源多一些,在家也能学的东西多一些。
正在我在赞叹stm32的库使用方便,提示人性化的时候。我因为官方资源设置跟自己手头的开发板物理属性不配套陷入了一些坑。

发现问题
1.当我编写串口程序的时候,发现一个奇怪的现象。我编写的代码(只有main.c)直接复制粘贴到正点原子的可以用,但是在我的工程下使用就不行。
2.仔细对照工程的各方面的设置又完全一样
在这里插入图片描述
3.各个寄存器所在的地址也是完全一样。
4.使用过51单片机的我,反应告诉我,一定要注意晶振的使用,以及库文件相关配置。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值