stm32f103创建hal库工程
时间: 2023-09-14 19:06:26 浏览: 136
创建STM32F103 HAL库工程的步骤如下:
1. 打开Keil软件,点击File -> New Project,弹出新建工程对话框。
2. 在对话框中选择“STMicroelectronics” -> “STM32F103C6” -> “MDK-ARM”,然后输入工程名和保存路径,点击“Save”按钮。
3. 选择“Device”选项卡,选择正确的芯片型号和Flash大小等参数,然后点击“OK”按钮。
4. 在工程窗口中,右键点击“Src”文件夹,选择“New Items”,然后选择“C File”或者“C++ File”,输入文件名,点击“Add”按钮。这里以main.c为例。
5. 在新建的main.c文件中,编写代码。
6. 在工程窗口中,右键点击“Inc”文件夹,选择“New Items”,然后选择“Header File”,输入文件名,点击“Add”按钮。这里以stm32f1xx_hal_conf.h为例。
7. 在新建的stm32f1xx_hal_conf.h文件中,添加以下代码:
```
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_CONF_H
#define __STM32F1xx_HAL_CONF_H
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal.h"
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
#define assert_param(expr) ((void)0U)
/* Exported functions prototypes ---------------------------------------------*/
/* Exported variables --------------------------------------------------------*/
#endif /* __STM32F1xx_HAL_CONF_H */
```
8. 在工程窗口中,右键点击“Src”文件夹,选择“New Items”,然后选择“C File”或者“C++ File”,输入文件名,点击“Add”按钮。这里以stm32f1xx_hal_msp.c为例。
9. 在新建的stm32f1xx_hal_msp.c文件中,添加以下代码:
```
#include "stm32f1xx_hal.h"
void HAL_MspInit(void)
{
__HAL_RCC_AFIO_CLK_ENABLE();
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM2)
{
/* Peripheral clock enable */
__HAL_RCC_TIM2_CLK_ENABLE();
}
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM2)
{
/* Peripheral clock disable */
__HAL_RCC_TIM2_CLK_DISABLE();
}
}
```
10. 在工程窗口中,右键点击“Inc”文件夹,选择“New Items”,然后选择“Header File”,输入文件名,点击“Add”按钮。这里以stm32f1xx_hal_msp.h为例。
11. 在新建的stm32f1xx_hal_msp.h文件中,添加以下代码:
```
#ifndef __STM32F1xx_HAL_MSP_H
#define __STM32F1xx_HAL_MSP_H
#include "stm32f1xx_hal.h"
void HAL_MspInit(void);
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base);
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base);
#endif /* __STM32F1xx_HAL_MSP_H */
```
12. 在工程窗口中,右键点击“Inc”文件夹,选择“New Items”,然后选择“Header File”,输入文件名,点击“Add”按钮。这里以stm32f1xx_it.h为例。
13. 在新建的stm32f1xx_it.h文件中,添加以下代码:
```
#ifndef __STM32F1xx_IT_H
#define __STM32F1xx_IT_H
#include "stm32f1xx_hal.h"
void SysTick_Handler(void);
#endif /* __STM32F1xx_IT_H */
```
14. 在工程窗口中,右键点击“Src”文件夹,选择“New Items”,然后选择“C File”或者“C++ File”,输入文件名,点击“Add”按钮。这里以stm32f1xx_it.c为例。
15. 在新建的stm32f1xx_it.c文件中,添加以下代码:
```
#include "stm32f1xx_hal.h"
#include "stm32f1xx_it.h"
void SysTick_Handler(void)
{
HAL_IncTick();
}
```
16. 在工程窗口中,右键点击“Inc”文件夹,选择“New Items”,然后选择“Header File”,输入文件名,点击“Add”按钮。这里以main.h为例。
17. 在新建的main.h文件中,添加以下代码:
```
#ifndef __MAIN_H
#define __MAIN_H
#include "stm32f1xx_hal.h"
#endif /* __MAIN_H */
```
18. 在工程窗口中,右键点击工程名,选择“Options for Target 'Target 1'”,弹出“Options for Target 'Target 1'”对话框。
19. 选择“C/C++”选项卡,然后在“Define”栏中添加以下宏定义:
```
USE_HAL_DRIVER
```
20. 点击“OK”按钮保存设置。
现在,你的STM32F103 HAL库工程已经创建完成了,可以开始编写代码了。
阅读全文