keil安装HAL库

embedded/2024/9/23 16:29:26/

通义千问给我的控制电机定时器的代码里包含一个头文件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.ppmy.cn/embedded/115681.html

相关文章

更新 Git 软件

更新 Git 软件本身是指将你当前安装的 Git 版本升级到最新版本。不同的操作系统有不同的更新方法。以下是针对 Windows、macOS 和 Linux 的 Git 更新步骤: Windows 检查当前版本: git --version访问官网下载最新版本: 访问 Git 官方网站 (ht…

计算机毕业设计 公寓出租系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Java项目实战II基于Java+Spring Boot+MySQL的网上租贸系统设计与实现(开发文档+源码+数据库)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 "随着…

【设计模式】工厂模式、单例模式、观察者模式、发布订阅模式

1.工厂模式 class Factory{createProduct(name){return new Product(name);} } class Product{constructor(name){this.namename;}display(){console.log(product:${this.name});} }//使用 const factorynew Factory(); const p1factory.createProduct(P1); const p2factory.c…

数据结构之——单链表

一、单链表概述 单链表是一种链式存取的数据结构,在计算机科学中有着广泛的应用。它由一系列节点组成,每个节点包含两个主要部分:数据域和指针域。 数据域用于存储节点的数据元素,其类型可以根据具体的应用需求进行定义。例如&a…

Linux相关概念和重要知识点(4)(自举、vim)

1.语言和编译器的发展 (1)汇编语言的出现 计算机只能看懂二进制,但是用二进制实现一个功能就太难了,人们需要发明一种高效的语言。人们抽象出一套编程逻辑,定义了一系列操作,接下来就需要实现它。最初人们…

一起对话式学习-机器学习02——机器学习方法三要素

【一】核方法 首先补充一下核方法,这应是机器学习分类中的内容。 什么是核方法呢?听起来很高级,但理解很简单: 官方定义:核方法是使用核函数表示和学习非线性模型的一种机器学习方法,可以用于监督学习和非监…

深度学习经典模型解析

1. 概述 随着大数据时代的到来和计算能力的飞速提升,深度学习 已成为人工智能领域的核心技术之一。它通过模拟人脑神经元的连接方式,构建多层次的神经网络,能够自动从海量数据中学习复杂的特征表示。深度学习在图像识别、自然语言处理、语音…