1. 程式人生 > >搭建Keil5與STM32建立工程中所遇到的問題

搭建Keil5與STM32建立工程中所遇到的問題

問題1、如果你安裝了Keil5,但是你找不到想要的STM32晶片,你該怎麼辦?

這裡寫圖片描述

問題2、keil軟體模擬時提示no ‘read’ permission沒有讀或寫許可權

答:在工程下新建一個debug.ini檔案,在檔案中寫入

map 0x40000000,0x40070000 read write
map 0x50000000,0x50070000 read write
map 0xa0000000,0xa0070000 read write

然後keil中Debug選項卡中的initialliation file中加入此檔案。

這裡寫圖片描述

問題3:STM32F407串列埠輸出亂碼

答:這是因為你keil中的晶振頻率和使用板子上的晶振頻率不一致所導致的。
如你板子上的晶振頻率是8MHz,點選編輯介面的魔術棒,如下所示:
這裡寫圖片描述


再點選 Target ,將Xtal(MHz)中的值改為8,如下圖所示:
這裡寫圖片描述

然後,修改“stm32f4xx.h”檔案中的“HSE_VALUE”巨集定義,如下所示:

#if !defined  (HSE_VALUE) 
//  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
        #define HSE_VALUE    ((uint32_t)8000000)
#endif /* HSE_VALUE */

問題4:STM32串列埠列印printf傳送中文亂碼問題

答:
1) 首先要確保使用keil程式正確編譯,並且程式經過除錯,已經可以正常傳送英文字元,但是傳送中文字元時亂碼。

2) 使用記事本開啟main.c檔案(或其他主程式),點選另存為,在右下方選擇編碼方式為ANSI,替換原檔案即可

3) 替換完成後,重新進行編譯,程式應該可以正常執行。