在學(xué)習(xí)串口程序的時(shí)候男摧,發(fā)現(xiàn)波特率是正確的,但是串口調(diào)試助手中查看串口打印的時(shí)候,發(fā)現(xiàn)是亂碼。
下面是解決方法
1.現(xiàn)象
QQ截圖20170419080953.png
QQ截圖20170419080727.png
2.解決方法
由于很多串口例程都是設(shè)定單片機(jī)晶振是8MHz嘹承,而我用的單片機(jī)是12MHz。所以要對(duì)stm32f10x.h進(jìn)行一些修改如庭。
1)修改stm32f10x.h為可讀寫
此文件原來(lái)是只讀的叹卷,若要修改,需要把只讀的勾取消掉
876862b36b574a257b3fe607ab436111.png
2)在stm32f10x.h文件中加入一個(gè)宏定義
可以在stm32f10x.h文件中通過(guò)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