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。

改之前:

改之后:

三、总结

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

相关推荐
Zevalin爱灰灰13 小时前
能源与电源管理电路——防倒灌电路
单片机·嵌入式硬件·电源管理
jianqiang.xue15 小时前
ESP-IDF保姆级入门02|Ubuntu24.04搭建EIM-GUI开发环境,打通Windows_Linux双平台统一开发
stm32·单片机·物联网
无垠的广袤15 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费16 小时前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
嵌入式-老费17 小时前
esp32开发与应用(OTA升级)
嵌入式硬件
CYLAM202519 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai20 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng21 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者1 天前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元1 天前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件