1、新建工程
- Keil5中,新建Project,選擇STM32Project文件夾,在此文件夾下新建一個文件夾“STM32工程模板”,然后給工程文件起名字“Project”
- 選擇器件型號
2、添加啟動文件
- 新建start文件夾
- 復制啟動文件:固件庫文件夾…/CM3/DeviceSupport/ST/STM32F10x/startup/arm/中的文件復制到start文件夾下
- 賦值stm32外設寄存器描述文件:…/CM3/DeviceSupport/ST/STM32F10x/下的stm32f10x.h(外設寄存器描述文件)、system_stm32f10x.c(配置時鐘)、system_stm32f10x.c
- 添加內核啟動文件(因為stm32是內核和內核外圍設備組成)…/CM3/CoreSupport文件夾下core_cm3.c、core_cm3.h(內核寄存器描述文件和相關配置)
3、添加文件到工程中(stm32基本文件)
- 更改工程文件名為start,右鍵-添加存在的文件,添加start文件中的…md.vls(啟動文件)、.c、.h文件
4、工程選項中添加頭文件路徑
5、新建main.c文件
- 文件夾內新建User文件夾
- 工程文件,右鍵-添加組-改名User,User上右鍵-添加新文件-main.c-選擇Location,要選擇文件夾中新建的User文件夾,否則main.c會默認在文件夾外
6、代碼編寫
- 引入stm32f10x.h頭文件
- 寫main函數
- 添加一個while死循環
7、添加庫函數
- 工程文件夾下新建“Library”文件夾
- 復制固件庫文件:…/Libraries/…_Drivers/src下的文件復制到新建的“Library”文件夾下;
- 復制inc文件(庫函數頭文件):…/Libraries/…_Drivers/inc下的文件復制到新建的“Library”文件夾下;
- Keil軟件,右鍵添加組,改名為“Library”,右鍵添加已存在的文件,添加庫函數文件
- 添加必要文件到User文件夾:固件庫文件夾,添加
stm32f10x.conf.h
(用來配置庫函數頭文件的包含關系的以及參數檢查的函數定義)和stm32f10x_it.h
、stm32f10x_it.c
(用來存放中斷函數) - Keil軟件中將
stm32f10x.conf.h
、stm32f10x_it.h
、stm32f10x_it.c
三個文件添加到User組中 - 添加宏定義“USE_STDPERIPH_DRIVER”,添加標準外設庫,這樣才能包含標準外設庫,也就是庫函數
調整工程目錄順序
8、庫函數實現點燈
#include "stm32f10x.h"
// Device header
int main(void){RCC_APB2PeriphclockCmd(RCC APB2Periph GPIOC,ENABLE);GPIO_InitTypeDef GPIO_Initstructure;GPIO_Initstructure.GPIO_Mode = GPIO_Mode_out_PP;GPIO_Initstructure.GPlo_Pin = GPIO_Pin_13;GPIO_Initstructure.GPlO_speed = GPIO_speed_50MHz;GPIO_Init(GPIOC,&GPIo Initstructure);GPIO setBits(GPIOC,GPIO_Pin_13);while (1){}
}