历史上的今天
返回首页

历史上的今天

今天是:2024年12月24日(星期二)

正在发生

2021年12月24日 | STM32手动创建工程-HAL库,超详细

2021-12-24 来源:eefocus

自从ST公司推出了STM32CubeMX软件,使得开发者开发成本和时间大大缩小,通过这款软件,用户可以选择芯片和配置时钟、外设等等,可以直接生成工程代码,虽然功能逻辑还是要自己补充,但是已经省去原来工程创建和繁琐的外设配置。


但是对于初学者要懂得手动创建一个完整的工程,有利于加深对工程目录结构和各类驱动文件的理解,本文将带领读者手动创建基于HAL库的STM32工程项目。


1.新建本地工程文件夹

电脑本地新建“Template_HAL”文件夹,在该文件夹下新建5个文件夹,如下图所示

2.添加HAL库

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

image.png?imageView2/2/w/550

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官方套件的相关代码。再次点击编译提示成功。

推荐阅读

史海拾趣

CIRCUITCO公司的发展小趣事

随着电子行业的快速发展和变革,CIRCUITCO公司面临着前所未有的挑战和机遇。为了应对这些变革,公司不断调整战略布局,积极拓展新的业务领域。例如,公司开始关注物联网、人工智能等新兴领域的发展,加大在这些领域的研发投入。同时,公司也积极探索国际化发展的道路,通过与国外企业的合作与交流,不断提升自身的国际竞争力。通过这些举措,CIRCUITCO公司成功应对了行业变革带来的挑战,实现了持续稳健的发展。

这五个故事展示了CIRCUITCO公司在电子行业中的发展历程,涵盖了技术研发、市场拓展、生产线升级、人才引进和战略布局等方面。这些故事虽然是虚构的,但基于电子行业的一般性发展和可能的情况,能够反映出一家公司在该行业中可能经历的一些典型事件。

Cables To Go公司的发展小趣事

在电子行业的激烈竞争中,Cables To Go公司以其卓越的产品品质和创新精神脱颖而出。公司从成立之初就注重产品研发,不断推出符合市场需求的高品质线缆产品。通过严格把控原材料采购和制造工艺,Cables To Go确保了每一根线缆都具备出色的性能和稳定性。同时,公司还积极投入研发,推出了一系列具有创新性的线缆解决方案,满足了客户多样化的需求。

Chauvin Arnoux公司的发展小趣事

在1905年,Chauvin Arnoux公司推出了带有曲柄电感的欧姆表,这一创新为电气测量领域带来了突破性的进展。随后,在1923年,公司进一步发展了这一技术,使得欧姆表的测量不再受到曲柄速度的影响,大大提高了测量的准确性和稳定性。这一系列的创新使得Chauvin Arnoux在电气测量领域确立了领先地位,为后续的发展奠定了坚实的基础。

AXSEM公司的发展小趣事

到了1960年,Chauvin Arnoux推出了Monoc测试仪,这是一种带有旋转开关和统一测量刻度的测量仪器。Monoc测试仪以其简洁、直观的操作界面和精确的测量能力,迅速成为电工行业的首选测量工具。这一产品的普及,进一步巩固了Chauvin Arnoux在电气测量领域的领导地位。

Benchmarq Microelectronics Inc公司的发展小趣事

在国内市场取得一定成绩后,Benchmarq Microelectronics Inc开始积极拓展国际市场。公司积极参加国际电子展会和交流活动,与国际同行建立合作关系,将产品打入国际市场。同时,公司还加强品牌建设,提升品牌知名度和美誉度。通过广告宣传、媒体报道等多种方式,公司成功塑造了专业、可靠的品牌形象,赢得了客户的信任和认可。

AEL [AEL Crystals Ltd]公司的发展小趣事

为了提高产品的可用性和客户服务水平,AEL Crystals实施了全面的库存管理政策。公司通过优化库存结构和加强库存监控,确保了产品的及时供应和快速响应客户需求。此外,AEL Crystals还不断提升客户服务质量,为客户提供专业的技术支持和售后服务。这些举措进一步增强了客户对公司的信任和忠诚度。

这五个故事展示了AEL Crystals Ltd公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到如今的行业佼佼者,AEL Crystals凭借其卓越的技术、全球化的战略布局、持续的创新以及优质的客户服务赢得了广泛的市场认可。未来,我们有理由相信AEL Crystals将继续保持其行业领先地位,并为电子行业的繁荣发展做出更大的贡献。

问答坊 | AI 解惑

诚骋电子专业兼职翻译人才

招聘兼职翻译、同传译员和外籍英文校对人员等。 我公司是国内知名的翻译公司,可进行十多种语言的相互翻译:汉语、英语、日语、德语、法语、俄语、韩语、意大利语、西班牙语、葡萄牙语、希腊语和荷兰语等。业务范围包括笔译、口译、网站翻译、在线 ...…

查看全部问答>

使用基于图形的物理综合加快FPGA设计时序收敛

传统的综合技术越来越不能满足当今采用 90 纳米及以下工艺节点实现的非常大且复杂的 FPGA 设计的需求了。问题是传统的 FPGA 综合引擎是基于源自 ASIC 的方法,如底层规划、区域内优化 (IPO,In-place Optimization) 以及具有物理意识的综合 (physica ...…

查看全部问答>

使用六西格玛软件JMP进行可靠性分析

  时间:2010-07-05 10:15:35 来源:EEPW 作者: 可靠性是一个在产品的设计、制造和使用的每个环节中都存在的问题。简单地说,所谓可靠性就是产品不易发生故障的程度。众所周知,产品在出厂检验时通常都是合格的,但是随着时间的推移,产 ...…

查看全部问答>

芯片的DATASHEET主要有些什么内容

芯片的DATASHEET主要有些什么内容…

查看全部问答>

wince 下如何实现 俄文文字识别?

wince5.0 下如何实现 俄文文字识别?PB5.0中 local specific support下没有俄文字体,请教! …

查看全部问答>

熟悉fat32的请进--在线等

现在在用K9F2G08X0闪存开发一个U盘。该闪存大小为256M,一共2048个块,每块有64个页。也就是说每块有128K。 但是fat32白皮书中要求每块大小不超过32K。 还有就是该闪存能用fat32文件系统吗?…

查看全部问答>

LM3S8962串口

最近在调试 串口部分,始终没调通,请高手看看怎么回事 #include  \"systemInit.h\"#include  <uart.h> //  UART初始化void uartInit(void){    SysCtlPeriEnable(SYSCTL_PERIPH_UART0);   &nb ...…

查看全部问答>

LED电源和驱动电路主要技术概况

作为一种新的光源,近年来各大公司和研究机构对LED电源和驱动电路的研究方兴未艾。与荧光灯的电子镇流器不同,LED驱动电路的主要功能是将交流电压转换为直流电压,并同时完成与LED的电压和电流的匹配。随着硅集成电路电源电压的直线下降,LED工作电 ...…

查看全部问答>