MDK新建工程-HAL库版本

  1. 新建工程所需文件夹

           如图所示,在电脑上选一个地方新建工程文件夹,并在文件夹里面分别建立USER,HALLIB,CORE,SYSTEM,OBJ等文件夹。

          c520a701ed6f4f9182dce4c9f0945b09.png然后根据表格中的路径,把工程所需要的文件从固件库中复制到该文件夹。完成新建工程的准备工作

     7171ce28657e42818a79e62f3beb9f4b.png

    45a587346ec542b6ad45c797c1eb1e23.png 

    7522919d2adc4b0da31cc2f0a7681783.png 

    93d6a23aed614b33ad9eb923f52e69c9.png 

     

  2. 文件导入到工程

            打开MDK,在MDK页面点击project选项卡,点击第一个选项New uVision project,选择上一步新建的文件夹,选择路径在在USER文件夹下,设置文件名text,点击保存。在跳出的弹窗中选择我们所使用的开发版型号。

         f57c1b29247b462fa8a97972adb1e47d.png  然后,就要进行把文件引入到工程了,选中左边目录中的Target1,右击鼠标选择Manage Projecr Items选项。


    a34df2675ba14e94bb8502253416d2c5.png进入到引入文件界面,在第一个列表中,我们可以给工程文件换一个名字,比如project,在第二个列表,我们分别更改并且添加文件夹:USER,HALLIB,CORE,SYSTEM。

    d2a09de1fcbf40d2b5759886d427f770.png并且在USER文件夹后面的文件选择框下面点击ADD Files,找到工程文件夹里USER文件夹里的四个.c文件,选中后点击ADD。以此类推,分别把HALLIB,CORE,SYSTEM等文件夹中的文件文件引入到工程

     

     

     

  3. 设置头文件包含路径

    第二步把文件引入到工程之后,这一步来设置头文件包含路径。

    2a9c746543c04b0ebfce1bfb6823bed5.png点击MDK页面中间的魔术棒图标,在第一列中的选项卡中选择C/C++选项,在此界面下面的Include Paths栏,点击后边的...,选择头文件的路径,以此把文件中的头文件路径包含进来,要注意,MDK只能在文件夹的下一栏里寻找,所以包含路径的头文件一定要是在文件的最亲属的路径。把所有的头文件路径包含之后,在Define栏,设置宏定义:USE_HAL_DRIVER,STM32F429xx中间是用逗号隔开的,建议直接复制

     

  4. MDK设置(编译文件存放路径等)

    完成以上配置之后,我们对编译过程中生成的编译文件存放路径进行设置。在编译过程中会生成编译文件,如果不设置这一步,也不影响正常编译,MDK会默认把中间生成的文件存入到创建工程时的Objects和Listings两个文件夹里。

    2fcb1484644f4736b44b51cdf341402b.png点击魔术棒--Output--Select Folder for Objects选择路径在工程文件夹的OBJ文件夹。并且选中Create hex Flie,这是要生成hex文件,在串口下载时候会使用这个文件

     

  5. 编写用户程序

    以上工作做完之后,我们就可以编写用户程序了,可以按照想要完成的工程,去编写相应的程序

  6. 编译


    编译的选项卡有三个,在MDK页面上,从左往右数,第一个是编译当前文件,局部编译;第二个是编译工程文件,快速编译;第三个是重编译,即全编译,比较耗时。所以建议使用第二种编译方式。编译通过就可以下载程序到开发版了

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建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库工程已经创建完成了,可以开始编写代码了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值