当前位置: 首页 > ops >正文

嵌入式学习笔记 - STM32 HAL库以及标准库内核以及外设头文件区别问题

一 CMSIS内核驱动文件夹

标准库中CMSIS内核驱动文件夹中,仅包含两个.h文件,其中stm32f10x.h 为stm10系列底层文件如总线以及各片上外设模块寄存器地址,system_stm32f10x.h为系统底层配置文件,主要为时钟配置。

HAL库中CMSIS内核驱动文件夹中,改为如下三个文件,stm32f10x.h文件改为stm2f1xx.h以及stm32f103xe.h两个文件,stm32f103xe.h为stm10系列底层文件如总线以及各片上外设模块寄存器地址,stm2f1xx.h仅为底层配置文件stm32f103xe.h提供配置选择的宏定义,相当于一个入口文件,system_stm32f1xx.h为系统底层配置文件,主要为时钟配置。

注:由于以上区别,当某些标准库的工程历程移植到HAL库上时,如果仍然包含stm32f10x.h,会出现重复定义的问题,就是与stm32f103xe.h定义内容重复了,虽然HAL库中已不含stm32f10x.h头文件,但是KEIL安装根目录下,ARM编译器目录下依然有标准库的驱动源文件,包括头文件STM32F10x.h,而keil默认包含根目录下的头文件,所以会出现重复定义的错误,将包含stm32f10x.h改为包含stm32f1xx.h即可。

二 外设驱动文件夹

原来的标准库下的各外设驱动文件夹如下:

HAL外设驱动文件夹如下,改为STM32F1xx_HAL_Driver文件夹,如同文件夹名字一样,所有驱动文件加了HAL字样

http://www.xdnf.cn/news/10225.html

相关文章:

  • 【android bluetooth 协议分析 03】【蓝牙扫描详解 1】【扫描关键函数 btif_dm_search_devices_evt 分析】
  • proteus新建工程
  • Python实现P-PSO优化算法优化BP神经网络分类模型项目实战
  • tomcat yum安装
  • 360浏览器设置主题
  • # CppCon 2014 学习: Quick game development with C++11/C++14
  • 【Netty系列】TCP协议:粘包和拆包
  • 声纹技术体系:从理论基础到工程实践的完整技术架构
  • AI Agent的“搜索大脑“进化史:从Google API到智能搜索生态的技术变革
  • 如何找到一条适合自己企业的发展之路?
  • Java 中 Lock 接口详解:灵活强大的线程同步机制
  • AR测量工具:精准测量,多功能集成
  • Rk3568驱动开发_GPIO点亮LED_12
  • 信息安全之什么是公钥密码
  • 虚拟DOM和DOM是什么?有什么区别?虚拟DOM的优点是什么?
  • 【MYSQL】索引篇(一)
  • ShenNiusModularity项目源码学习(32:ShenNius.Admin.Mvc项目分析-17)
  • 第N个泰波那契数列 --- 动态规划
  • win11安装踩坑笔记 win11 u盘安装
  • offset三大家族
  • NW969NW978美光闪存颗粒NW980NW984
  • Leetcode 465. 最优账单平衡
  • Unity程序集
  • sglang0.4.3参数说明
  • 建筑兔零基础人工智能自学记录101|Transformer(1)-14
  • 使用PowerBI个人网关定时刷新数据
  • MySQL强化关键_018_MySQL 优化手段及性能分析工具
  • 11.springCloud AlibabaNacos服务注册和配置中心
  • 【算法训练营Day04】链表part2
  • mkcert实现本地https