STM32 HAL库详细介绍
自从ST公司推出HAL库来替代原有的标准库,HAL库开始慢慢的被广大STM32开发者所接受,现在已经在实际的项目开发中大量使用,HAL库使得项目的移植变得简单容易,但是对于初学者而言,刚开始接触有些晦涩难懂。
本文将详细介绍HAL库的目录结构和功能。
1.1 HAL库下载
- STM HAL库可以从官方下载(下载链接),展开MCU固件一栏选项。或者从CSDN下载
- 点击STM32CubeF1_软件开发包,当前最新版本是v1.8.0
- 进入下载页面,点击立即下载,需要登录账号才能下载
1.2 HAL库说明
HAL库下载解压后的目录
- Documentation:文件夹下是HAL库帮助文档
- Drivers:文件夹下是官方的CMSIS库,HAL库,板载外设驱动
- Middlewares:中间组建
- Projects:文件夹下是用驱动库写的针对官方发行 demo 板的例子和工程模板。
- Utilities:实用的公共组件
- Release_Notes.html:库的版本更新说明
1.2.1 CMSIS文件说明
- Include文件夹:内核相关头文件,该文件夹含有核内设备层函数的Cortex-M核通用的头文件,这些文件是为了那些实用Cortex-M核设计的SOC的芯片产商设计的芯片提供提供一个进入内核的接口。
- Device文件夹:该文件夹放的是具体的芯片直接相关文件,包含启动文件、芯片外设寄存器定义、系统时钟初始化的一些文件,由ST公司提供。
- Core:Cortex-M内核相关文件
- DSP:DSP函数源文件
- RTOS:实时操作系统头文件
几个重要的文件:
- system_stm32f1xx.c文件:
文件目录:\STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates
文件包含了STM32芯片上电后初始化系统时钟、扩展外部存储器用的函数,根据需要编辑该文件
启动文件
文件目录:\STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates
该目录下,包含了"arm","gcc'',"iar"等,这些文件夹下包含了对应编译平台的汇编启动文件
- stm32F103xx.h文件
文件目录:STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Include
该文件非常重要,是一个STM32芯片底层相关文件,包含了STM中所有的外设寄存器地址和结构体类型定义,在会用HAL库的地方都要包含这个头文件。
- stm32f1xx_it.c文件
文件目录:STM32Cube_FW_F1_V1.8.0\Projects\STM32F103RB-Nucleo\Templates\Src
该文件用来专门编写终端服务函数的,这个文件已经定义了一些系统异常的接口,其他普通终端服务函数由我们自己添加。
- stm32f1xx_hal_conf.h文件
文件目录:STM32Cube_FW_F1_V1.8.0\Projects\STM32F103RB-Nucleo\Templates\Inc
该文件被包含在stm32f103xx.h文件,可以使用这个文件根据芯片型号增减ST库的外设文件,时钟源也是在这里配置的。
1.2.2 STM32F1xx_ HAL _Driver 文件夹
文件目录:STM32Cube_FW_F1_V1.8.0\Drivers\STM32F1xx_HAL_Driver
STM32F1xx_HAL_Driver 文件夹下有inc和src文件夹,在文件夹里的就是ST公司针对每个STM32外设编写的库函数文件,每个外设对应一个.c和.h后缀的文件。我们把这类外设文件统称为:stm32f1xx_hal_ppp.c 或 stm32f1xx_hal_ppp.h文件,PPP 表示外设名称。
最后是HAL库各文件之间的调用关系,熟记此图对理解HAL很重要
STM32 HAL库详细介绍相关推荐
- STM32 HAL库学习笔记2 HAL库介绍
STM32 HAL库学习笔记2 HAL库介绍 CMSIS标准 一.再次认识HAL库 HAL库设计思想 HAL库实现方式 以GPIO模块为例 GPIO外设数据类型 GPIO外设接口函数 二.使用HAL库 ...
- 【08】STM32·HAL库开发-HAL库介绍 | STM32Cube固件库介绍 | HAL库框架结构 | 如何使用HAL库及使用注意事项
目录 1.初识HAL库(了解) 1.1CMSIS简介 1.2HAL库简介 2.STM32Cube固件包浅析(了解) 2.1如何获取STM32Cube固件包? 2.2STM32Cube固件包文件夹简介 ...
- STM32 HAL库、标准外设库、LL库(STM32 Embedded Software)
STM32 Embedded Software 工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是常 ...
- STM32 HAL库学习笔记1-HAL库简介
STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...
- STM32 HAL库 驱动 MT6701 磁编码器
写在前面: MT6701 是 MagnTek 推出的新一代基于差分霍尔感应原理的磁性角度编码器芯片.值得一提的是 MT6701不仅提供 0~360° 的角度信号,而且还提供了一个"按压&qu ...
- STM32 HAL库组成概述
STM32 HAL库概述 ## (一)HAL库设计思想 什么是HAL(Hardware Abstraction Layer)? from 百度百科: 硬件抽象层是位于操作系统内核与硬件电路之间的接口层 ...
- STM32 HAL库PID控制电机 第三章 PID控制双电机
STM32 HAL库PID控制电机 第三章 PID控制双电机 注:本文含全部PID控制代码,保证可以运行,如不能运行可以留言回复 1 基础配置 1.1 编码器电路图及配置 引脚 定时器通道 PA0 T ...
- 温湿度传感器驱动SHT85 单片机STM32 HAL库
功能介绍:读取传感器SHT85数据,转换成温度.湿度 .饱和水蒸气含量. 注意事项: SDA脚设置为开漏输出,外部上拉电阻10k.或者设置成推挽,软件切换SDA输入输出. 调试时可适当加长延时时间. ...
- STM32 HAL库详解
STM32 HAL库整体总结 STM32 之二 HAL库详解 及 手动移植 本篇博客是对以上参考资源的一个二次总结与整理. 1. HAL库文件结构 对于开发人员而言,首先要清楚 HAL 库的文件结构. ...
最新文章
- 在做项目中遇到的JS问题
- 11.32 php扩展模块装安
- Android接收短信-createFromPdu
- 腾讯地图调用获取经度纬度代码
- 教你10分钟对接人大金仓EF Core 6.x
- JAVA基础知识+基础代码
- vs2015web项目无法加载64位c++的dll,提示试图加载不正确的格式
- python中的面向对象:类与对象(重点!!!)
- 【CentOS】NFS服务器的安装与配置
- python 代码替换_用Python将绝对URL替换成相对URL的代码
- chanlist.php,Nginx+FastCgi+Php 的工作机制
- DevOps、CI、CD是什么关系
- python开发桌面时钟_python+PyQT实现系统桌面时钟
- HTML5 之 Link 标签
- 北京春运更智能:自助验票、微信查询
- 漫话:如何给女朋友解释什么是CDN?
- Python列表、元组、字典 集合简单基础
- java 二维码生成和加密base64压码
- 行云管家V4.9正式发布:监控全面提升,首页、主机详情大幅优化,新增大量实用功能...
- 按钮置灰后点击事件仍可以触发