在学习串口程序的时候,发现波特率是正确的,但是串口调试助手中查看串口打印的时候,发现是乱码。
下面是解决方法
1.现象
2.解决方法
由于很多串口例程都是设定单片机晶振是8MHz,而我用的单片机是12MHz。所以要对stm32f10x.h进行一些修改。
1)修改stm32f10x.h为可读写
此文件原来是只读的,若要修改,需要把只读的勾取消掉
2)在stm32f10x.h文件中加入一个宏定义
可以在stm32f10x.h文件中通过ctrl+f搜索HSE_VALUE,找到这段话,然后将下面的宏定义加入。
- 8MHz改成12MHz
#define HSE_VALUE ((uint32_t)12000000)
- 12MHz改成8MHz
#define HSE_VALUE ((uint32_t)8000000)