用12MHZ的外部晶振,串口输出是乱码

2019-07-21 06:21发布

我用的是是12MHZ的外部晶振,然后我倍频到72MHZ,我发现使用的串口的时候,串口是乱码,然后又换回8MHZ的晶振也倍频到72MHZ,串口正常,请问这是什么原因,要改什么地方的程序。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
cdshkf
2019-07-21 08:24
 从8M晶振换12M晶振,如果还想是72M时钟,只需要改三个地方:
1、stm32f1x0.h中,#define HSE_VALUE    ((uint32_t)8000000)改为#define HSE_VALUE    ((uint32_t)12000000)
2、system_gd32f1x0.c中,使用48M的那个宏,即改为如下:
//#define SYSCLK_FREQ_HSE    HSE_VALUE
//#define SYSCLK_FREQ_24MHz  24000000  
//#define SYSCLK_FREQ_36MHz  36000000
#define SYSCLK_FREQ_48MHz  48000000
//#define SYSCLK_FREQ_56MHz  56000000
//#define SYSCLK_FREQ_72MHz  72000000
3、如果是在keil中调试下载,工程选项中修改如下,Xtal(MHz)标签旁从8.0改为12.0。


如果楼猪是这么改的,那么既然8M晶振倍频到72M时钟串口收发正常,12M倍频到72M也没有理由出现乱码。

一周热门 更多>