STM32踩坑--串口发送乱码

一、发现问题

今天在STM32F407新板子上测试串口时,发现发送数据一直乱码。

二、解决问题

针对STM32F407系列校准PLLCLK时钟:

①由 时钟树 可以看出PLLCLK=HSE(高速外部时钟)*N/(M*P)。因为SYSTICK一般取最高的时钟168M,也就是PLLCLK=168M。

②校准HSE时钟。在 stm32f4xx.h 文件中,找到 HSE_VALUE 将他改成8M,我这里之前是25M,是错误的,因为我的板子上是8M的晶振。

③改N、M、P的值。在 system_stm32f4xx.c 文件中,分别找到跟芯片型号对应的PLL_M、PLL_N、PLL_P。这里我是保持PLL_N、PLL_P的值不变,改PLL_M的值,使PLLCLK=168M。

改之前:

改之后:

三、总结

在使用新板子之前,需要先校准下系统时钟。

相关推荐
SDAU20056 小时前
CH32V103C8T6的时钟操作
单片机·嵌入式硬件
不做无法实现的梦~6 小时前
SBUS 接收机到 STM32:为什么要做硬件反相、如何解析数据、如何接线与实现代码
stm32·单片机·嵌入式硬件
一路往蓝-Anbo6 小时前
第二章:隔离硬件 —— 利用 CMock 伪造 GPIO 与定时器
stm32·单片机·嵌入式硬件·软件工程·信息与通信·tdd
刘延林.8 小时前
esp32 s3+micpython快速验证ML307R 是否能正常连接4G
单片机·嵌入式硬件
不做无法实现的梦~13 小时前
86步进电机和DM860H驱动器的使用方法和记录
单片机·嵌入式硬件
Aaron158813 小时前
RFSOC+VU13P/VU9P+GPU多通道同步一体化解决方案
人工智能·嵌入式硬件·算法·matlab·fpga开发·硬件架构·基带工程
所见即所得1111114 小时前
stm32烧录过程中串口问题(串口被占用无法使用)
stm32·单片机·嵌入式硬件
Freak嵌入式14 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
arm开发·人工智能·python·嵌入式硬件·机器人·嵌入式·micropython
Ligocious14 小时前
stm32---1.两种开发方式点亮LED
stm32·单片机
黑白园15 小时前
STM32F103C8TC使用ST-Link下载
stm32·单片机·嵌入式硬件