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

keil安装HAL库

通义千问给我的控制电机定时器的代码里包含一个头文件stm32f1xx_hal.h

经过搜索,得知这个头文件需要安装HAL库

可以从意法半导体官方网站下载最新版的STM32CubeMX:https://www.st.com/en/development-tools/stm32cubemx.htmlicon-default.png?t=O83Ahttps://www.st.com/en/development-tools/stm32cubemx.html打开后

下载吧

然后

创建一个新工程

要选择system core ,sys是配置引脚gpio和serial串口调试。

选择sys 中的rcc ,这个是配置晶振信号,选择这个就行了,问我为什么,咱不知道,哈哈哈哈

猜测就是8M和32.768k的那个差别,瞎猜的

晶振那边就别动,默认的

然后再项目管理里面,点击mdk-arm就是keil

这个时候可以生成代码了。

下来就会产生一个代码在文件夹中,自动用keil打开

在main函数中加入点灯代码试试

编译,上传,看看效果

好了成功了,灯的图片别指望我拍张照片,自己想吧

这个还是算简单了。

这个时候,思考一下,为什么用hal库而不用keil自带的库。

HAL库(Hardware Abstraction Layer)是STMicroelectronics为STM32微控制器提供的硬件抽象层库,它在寄存器操作和应用程序之间提供了一个中间层。使用HAL库而不是Keil自带的标准外设库有以下优点:

  1. 易用性和可读性:HAL库提供了一个清晰、一致的API接口,使得代码更加易于阅读和理解,从而降低了学习曲线。

  2. 可移植性:HAL库允许在不同的STM32系列微控制器之间轻松移植代码,因为它隐藏了硬件层面的复杂性。

  3. 跨系列支持:HAL库支持所有STM32系列,而不仅仅是一个特定的微控制器型号。

  4. 硬件无关性:HAL库允许开发者编写与硬件无关的代码,这意味着在更换微控制器时,通常不需要修改业务逻辑代码。

  5. 代码复用:使用HAL库编写的功能模块可以在不同的项目之间重用,提高了代码的复用性。

  6. 支持CubeMX工具:HAL库与STM32CubeMX工具紧密集成,可以自动生成初始化代码,加速开发过程。

  7. 社区和文档支持:由于HAL库是ST官方主推的库,因此有大量的社区支持和详尽的文档资料。

  8. 持续更新:STMicroelectronics持续更新HAL库,引入新特性和修复bug,而旧的标准外设库已经停止更新。

  9. 中间件支持:HAL库更容易与ST提供的中间件(如FreeRTOS、USB、TCP/IP等)集成。


http://www.kler.cn/a/316291.html

相关文章:

  • TortoiseSVN提示服务器凭证检核错误:站点名称不符
  • [CKS] K8S NetworkPolicy Set Up
  • ❤React-React 组件基础(类组件)
  • HarmonyOS SDK下的实践与探索
  • AcWing 302 任务安排 斜率优化的dp
  • 万字长文分析函数式编程
  • 计算机网络32——Linux-文件io-2文件系统
  • 《拿下奇怪的前端报错》:nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践
  • Linux环境Docker安装Mongodb
  • Electron 安装包 asar 解压定位问题实战
  • 深度学习与大模型第5课:利用 NLTK 中的朴素贝叶斯工具解决实际问题:垃圾邮件过滤
  • Java 速刷复习用极简小抄 P1 - Java 概念
  • C++学习笔记(36)
  • C++--C++11(下)
  • 近几年来说最有效率的编程语言和市场最认可的编程语言分别是什么?
  • Pandas库中pd.to_datetime()函数用法详细介绍
  • 监控易:部委-省-市-县多级架构的集中智能运维解决方案
  • Java如何操作Elasticsearch
  • Redis面试真题总结(三)
  • C++初阶:STL详解(四)——vector迭代器失效问题
  • 基于深度学习的3D场景重建
  • esp32 wifi 联网后,用http 发送hello 用pc 浏览器查看网页
  • WebLogic文件任意上传漏洞CVE-2018-2894
  • 0.设计模式总览——设计模式入门系列
  • uniapp如何实现图片轮播特效?
  • 二、MySQL环境搭建