keil安装HAL库
通义千问给我的控制电机定时器的代码里包含一个头文件stm32f1xx_hal.h
经过搜索,得知这个头文件需要安装HAL库
可以从意法半导体官方网站下载最新版的STM32CubeMX:https://www.st.com/en/development-tools/stm32cubemx.htmlhttps://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自带的标准外设库有以下优点:
-
易用性和可读性:HAL库提供了一个清晰、一致的API接口,使得代码更加易于阅读和理解,从而降低了学习曲线。
-
可移植性:HAL库允许在不同的STM32系列微控制器之间轻松移植代码,因为它隐藏了硬件层面的复杂性。
-
跨系列支持:HAL库支持所有STM32系列,而不仅仅是一个特定的微控制器型号。
-
硬件无关性:HAL库允许开发者编写与硬件无关的代码,这意味着在更换微控制器时,通常不需要修改业务逻辑代码。
-
代码复用:使用HAL库编写的功能模块可以在不同的项目之间重用,提高了代码的复用性。
-
支持CubeMX工具:HAL库与STM32CubeMX工具紧密集成,可以自动生成初始化代码,加速开发过程。
-
社区和文档支持:由于HAL库是ST官方主推的库,因此有大量的社区支持和详尽的文档资料。
-
持续更新:STMicroelectronics持续更新HAL库,引入新特性和修复bug,而旧的标准外设库已经停止更新。
-
中间件支持:HAL库更容易与ST提供的中间件(如FreeRTOS、USB、TCP/IP等)集成。