历史上的今天
今天是:2024年12月24日(星期二)
2021年12月24日 | STM32手动创建工程-HAL库,超详细
2021-12-24 来源:eefocus
自从ST公司推出了STM32CubeMX软件,使得开发者开发成本和时间大大缩小,通过这款软件,用户可以选择芯片和配置时钟、外设等等,可以直接生成工程代码,虽然功能逻辑还是要自己补充,但是已经省去原来工程创建和繁琐的外设配置。
但是对于初学者要懂得手动创建一个完整的工程,有利于加深对工程目录结构和各类驱动文件的理解,本文将带领读者手动创建基于HAL库的STM32工程项目。
1.新建本地工程文件夹
电脑本地新建“Template_HAL”文件夹,在该文件夹下新建5个文件夹,如下图所示

2.添加HAL库
将HAL库添加到工程文件夹中,HAL库下载和说明我在另外一篇文章中有详细介绍。

3.新建工程
打开Keil-MDK,新建工程,保存在“Template_HALMDK-ARM”目录下,工程名称可以根据自己的项目命名。

根据项目使用的CPU具体型号来选择选择芯片,小编这里使用STM32F103C8T6。

添加组文件夹
组文件夹添加文件
根据芯片的容量选择启动文件

选择src下的代码源文件

选择项目用到的外设代码源文件

选择系统配置文件

引入头文件路径

添加宏
USE_HAL_DRIVER 宏:为了让 stm32f1xx.h 包含 stm32f1xx_hal_conf.h 这个头文件
STM32F103xB 宏:为了告诉 STM32HAL 库,我们使用的芯片类型是 STM32 型号是小容量的,使 STM32HAL 库根据我们选定的芯片型号来配置。

点击编译出会错,此时删除main.c中“#include "stm32f1xx_nucleo.h"”,我们不需要引入ST官方套件的相关代码。再次点击编译提示成功。
下一篇:stm32中断初识与实践(下)
史海拾趣
|
招聘兼职翻译、同传译员和外籍英文校对人员等。 我公司是国内知名的翻译公司,可进行十多种语言的相互翻译:汉语、英语、日语、德语、法语、俄语、韩语、意大利语、西班牙语、葡萄牙语、希腊语和荷兰语等。业务范围包括笔译、口译、网站翻译、在线 ...… 查看全部问答> |
|
传统的综合技术越来越不能满足当今采用 90 纳米及以下工艺节点实现的非常大且复杂的 FPGA 设计的需求了。问题是传统的 FPGA 综合引擎是基于源自 ASIC 的方法,如底层规划、区域内优化 (IPO,In-place Optimization) 以及具有物理意识的综合 (physica ...… 查看全部问答> |
|
时间:2010-07-05 10:15:35 来源:EEPW 作者: 可靠性是一个在产品的设计、制造和使用的每个环节中都存在的问题。简单地说,所谓可靠性就是产品不易发生故障的程度。众所周知,产品在出厂检验时通常都是合格的,但是随着时间的推移,产 ...… 查看全部问答> |
|
现在在用K9F2G08X0闪存开发一个U盘。该闪存大小为256M,一共2048个块,每块有64个页。也就是说每块有128K。 但是fat32白皮书中要求每块大小不超过32K。 还有就是该闪存能用fat32文件系统吗?… 查看全部问答> |
|
最近在调试 串口部分,始终没调通,请高手看看怎么回事 #include \"systemInit.h\"#include <uart.h> // UART初始化void uartInit(void){ SysCtlPeriEnable(SYSCTL_PERIPH_UART0); &nb ...… 查看全部问答> |
|
作为一种新的光源,近年来各大公司和研究机构对LED电源和驱动电路的研究方兴未艾。与荧光灯的电子镇流器不同,LED驱动电路的主要功能是将交流电压转换为直流电压,并同时完成与LED的电压和电流的匹配。随着硅集成电路电源电压的直线下降,LED工作电 ...… 查看全部问答> |




