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。

改之前:

改之后:

三、总结

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

相关推荐
SKY -dada9 分钟前
01--阴雨天逆变器频报“GFCI故障”?勿当简单跳闸!深度解析与排查指南
单片机·嵌入式硬件
jghhh0124 分钟前
STM32 上使用 SPI 总线驱动 OLED 的程序
stm32·单片机·嵌入式硬件
foundbug99935 分钟前
STM32 + uIP协议栈实现TCP/UDP功能指南
stm32·tcp/ip·udp
XINVRY-FPGA36 分钟前
XC7Z010-2CLG400I Xilinx Zynq-7000 FPGA
arm开发·嵌入式硬件·算法·fpga开发·硬件工程·dsp开发·fpga
WYH2871 小时前
一、驱动基础
linux·嵌入式硬件
XINVRY-FPGA1 小时前
XCZU11EG-2FFVC1156I Xilinx Zynq UltraScale+ MPSoC EG FPGA
图像处理·嵌入式硬件·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
山木嵌入式13 小时前
【STM32实战】轻量级任务调度器实现
stm32·单片机·rtos·任务调度器·裸机开发
guygg8813 小时前
基于霍尔传感器的BLDC控制源码
单片机·嵌入式硬件
ytttr87313 小时前
DSP 28335 CAN总线通信程序
开发语言·stm32·单片机
一枝小雨15 小时前
RISC-V架构sp寄存器 & RISC-V架构下FreeRTOS任务上下文保存与恢复
单片机·架构·嵌入式·risc-v·rtos·内核原理