4.STM32 新建HAL库模板工程


如果想单独一对一辅导学习嵌入式、C++、Java、Python编程语言的可以加微信咨询

了解STM32的HAL库文件之后,我们就可以使用它来建立工程了,因为用库新建工程的步骤较多,我们一般是使用库建立一个空的工程,作为工程模板。以后直接复制一份工程模板,在它之上进行开发。

1.1 新建工程

1.1.1 新建本地工程文件夹

为了工程结构更加清晰,一般需要在本地电脑上新建一个“工程模板”文件夹,在它之下再新建6个文件夹,具体如下:

工程目录结构
在这里插入图片描述
在这里插入图片描述

  • Doc:工程说明.txt

  • Libraries:
    CMSIS:里面放着跟CM3内核有关的库文件
    STM32F1xx_HAL_Driver:STM32 外设库文件

  • Listing:暂时为空

  • Output:暂时为空

  • Project:暂时为空

  • User:
    stm32f1xx_hal_conf.h:用来配置库的头文件
    stm32f1xx_it.h、stm32f1xx_it.c:中断相关的函数都在这个文件编写,暂时为空
    main.c:main函数文件

1.1.2 新建工程

打开KEIL5,新建一个工程,工程名根据喜好命名,我这里取Template,保存在Project文件夹下。

1.1.2.1 选择CPU型号

这个根据你开发板使用的CPU具体的型号来选择,我的设备是选STM32F103ZE。
如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你的KEIL5没有添加device库,KEIL5不像KEIL4那样自带了很多MCU的型号,KEIL5需要自己添加,可在线添加,也可以下载软件包安装。
在这里插入图片描述

1.1.2.2 在线添加库文件

最好手动本地添加库文件,这里点击关掉在线添加,因为keil的服务器在国外,在线添加会非常慢。
在这里插入图片描述

1.2.2.3 添加组文件夹

在新建的工程中添加5个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
在这里插入图片描述
在这里插入图片描述

1.2.2.4 添加文件

先把上面提到的文件从STM32HAL库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
在这里插入图片描述

1.2.2.5 配置选项卡

这一步的配置工作很重要,很多人串口用不了printf函数,编译有问题,下载有问题,都是这个步骤的配置出了错。

  1. Target中选中微库“ Use MicroLib”,为的是在日后编写串口驱动的时候可以使用printf函数。
    在这里插入图片描述

  2. 在Output选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成hex文件,那么那Create HEX File选项勾上。
    在这里插入图片描述

  3. 在Listing选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹。
    在这里插入图片描述

  4. 在C/C++选项卡中添加处理宏及编译器编译的时候查找的头文件路径。如果头文件路径添加有误,则编译的时候会报错找不到头文件。
    在这里插入图片描述

在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。

  • STM32F103xE宏:为了告诉STM32HAL库,我们使用的芯片类型是STM32型号是大容量的,使STM32HAL库根据我们选定的芯片型号来配置。

  • USE_HAL_DRIVER宏:为了让stm32f1xx.h包含stm32f1xx_hal_conf.h这个头文件。

“Include Paths ”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错)。

1.2.2.6 仿真器配置

关于仿真器可以使用一些硬件标配仿真器,也将hex文件通过ISP下载
例如仿真器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ISP下载
在这里插入图片描述
在这里插入图片描述

1.2.2.7 选择CPU型号

这一步的配置也不是配置一次之后完事,常常会因为各种原因需要重新选择,当你下载的时候,提示说找不到Device的时候,请确保该配置是否正确。 有时候下载程序之后,不会自动运行,要手动复位的时候,也回来看看这里的“Reset and Run”配置是否失效。 根据硬件芯片选择型号,我的开发板上的STM32芯片的FLASH大小是512kByte,所以这里选择512k的容量,如果使用的是其他型号的,要根据实际情况选择。
在这里插入图片描述
这样一个新工程的模板就建立好了,之后只要HAL的工程都可以套用该模板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值