在學(xué)習(xí)串口程序的時候,發(fā)現(xiàn)波特率是正確的,但是串口調(diào)試助手中查看串口打印的時候,發(fā)現(xiàn)是亂碼。
下面是解決方法
1.現(xiàn)象

QQ截圖20170419080953.png

QQ截圖20170419080727.png
2.解決方法
由于很多串口例程都是設(shè)定單片機晶振是8MHz,而我用的單片機是12MHz。所以要對stm32f10x.h進行一些修改。
1)修改stm32f10x.h為可讀寫
此文件原來是只讀的,若要修改,需要把只讀的勾取消掉

876862b36b574a257b3fe607ab436111.png
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)

acba17c0968d8a69df41067a18f06eee.png
3.改后結(jié)果

QQ截圖20170419082701.png