1. 程式人生 > 實用技巧 >STM32入門系列-建立暫存器模板

STM32入門系列-建立暫存器模板

介紹如何使用 KEIL5 軟體建立暫存器模板, 方便之後使用暫存器方式來操作STM32開發板上的LED,讓大家建立屬於自己的暫存器工程模板。

獲取工程模板的基礎檔案

首先我們在電腦任意位置建立一個資料夾,命名為“暫存器模板建立”,然後在其下面新建 2 個資料夾,如下:

Obj 資料夾: 用於存放編譯產生的 c/彙編/連結的列表清單、 除錯資訊、hex檔案、預覽資訊、封裝庫等檔案。

User 資料夾: 用於存放使用者編寫的 main.c、 STM32F1 啟動檔案、stm32f10x.h標頭檔案。

我們需要將暫存器工程模板所需的基礎檔案 main.c、STM32F1 啟動檔案及stm32f10x.h 標頭檔案放入到 User 資料夾內。在工程例項的User資料夾內可以找到這三個檔案。複製後 User 資料夾內檔案如下:

建立暫存器工程

開啟 KEIL5 軟體,新建一個工程,工程名根據喜好命名,但是要注意使用英文,如果使用中文名可能會出現一些奇怪的錯誤,這裡我們命名為 Template,直接儲存在 “暫存器模板建立”資料夾下。具體步驟如下:

根據你開發板使用的 CPU 具體的型號來選擇,如果這裡沒有出現你想要的CPU型號,或者一個型號都沒有,那麼肯定是你在安裝 KEIL5 軟體的時候沒有新增晶片包,KEIL5 不像 KEIL4 那樣自帶了很多 MCU 的型號,KEIL5 需要自己新增,可以參考我們視訊 KEIL5 軟體的安裝。

選擇完 CPU 點選 OK 後會彈出線上新增韌體庫檔案的介面,我們在使用寄器操作 STM32 的時候不需要此步,所以直接關閉即可。

給工程新增檔案

在新建的工程中新增檔案,雙擊Group 資料夾就會出現新增檔案的路徑,然後選擇檔案即可。新增檔案完成後工程組如下:

配置魔術棒選項卡

這一步的配置工作非常重要,很多人自己編寫程式編譯後發現找不到 HEX檔案,還有的人做後面 printf 實驗時打印不出資訊,這些問題都是在這個地方沒有配置好導致的。

(1)Target 中選中微庫“Use MicroLib”,主要是為了後面 printf 重定向輸出使用。其他的設定保持預設即可,配置如下:

(2)Output 選項卡中把輸出資料夾定位到我們工程目錄下的 Obj 資料夾,如果想在編譯的過程中生成 hex 檔案,那麼那 Create HEX File 選項勾上。配置如下:

(3)Listing 選項卡中把輸出資料夾也定位到我們工程目錄下的 Obj 資料夾。其他設定預設,配置如下:

(4)ARM 模擬器配置。只有當你的模擬器安裝好驅動並且連線了電腦和板子,那麼就可以開始配置。具體的配置如下(首先,我們已經將 ARM 模擬器連線開發板):

根據自己模擬器的型號進行選擇,之後點選“Settings”,如果你的型號沒有選擇錯誤的話,自動會識別你的 ARM 模擬器 ID 了,然後即可設定SW 或者JTAG 模式以及復位的方式,大家可以選擇性使用 SW 或者 JTAG 模式。如果使用SW 模式的話,必須勾選前面的 SWJ 複選框。

(5)晶片型號選擇。同樣在上一步的那個 Debug 選項卡內進行設定,點選Settings,選擇 Flash Download 選項卡,在框 3中的 Reset and Run 選項中,如果勾上的話,當程式下載進去後自動復位執行,如果不勾上,程式下載進去後需按下開發板上覆位鍵才能執行。通常我們選擇勾上。具體配置如下:

最後點選 OK 按鈕即可。然後雙擊工程組中的 main.c 檔案,輸入程式碼:

 1 #include "stm32f10x.h"
 2 
 3 void SystemInit(){
 4 
 5  
 6 
 7 }
 8 
 9 int main()
10 
11 {
12 
13     while(1){
14 
15  
16 
17     }
18 
19 }

把stm32f10x.h檔案內容清空之後編譯,結果0錯誤0警告,表明我們建立的暫存器模板完全正確。到這一步我們的暫存器模板才算真正建立好。在前面配置魔術棒時,已經配置好了模擬器, 將ARM模擬器與開發板上的10針介面連線好後,點選標號“Load”即可將程式下載到開發板內。