首页 > 其他分享 >STM32_HAL库所用到的函数(持续更新)

STM32_HAL库所用到的函数(持续更新)

时间:2024-12-14 08:59:49浏览次数:12  
标签:--- HAL 函数 Pin 引脚 所用 STM32 GPIO

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

文章目录

HAL库概念及优点

一、对HAl库常见的函数记录

1.GPIO


HAL库概念及优点

HAL(Hardware Abstraction Layer)即硬件抽象层。它是 ST(意法半导体)公司为其 STM32 系列微控制器推出的一种软件库。其主要目的是提供一种简单且高效的方式来操作硬件设备,使得用户可以更方便地开发基于 STM32 的应用程序,而无需深入了解底层寄存器的复杂细节。

HAL 库主要有以下优点:

  • 硬件抽象方面
    • 降低开发难度,把硬件底层操作细节封装起来,让开发者能更专注于应用程序逻辑。
    • 方便代码维护,硬件更新或修改时,只需更新库的底层代码,上层应用代码通常不用大改。
  • 可移植性方面
    • 跨芯片移植方便,对于有相同外设的不同 STM32 芯片,代码很容易移植。
    • 便于项目升级或更换硬件平台,减少因芯片型号更换而带来的代码改动量。
  • 代码规范性和可读性方面
    • 函数命名清晰直观,采用 “HAL_外设名称_操作名称 ()” 的格式,易于理解功能。
    • 代码结构层次分明,每个模块对应相关外设,且有注释辅助理解。
  • 集成开发环境支持方面
    • 方便代码生成,通过与开发工具结合,能自动生成初始化代码,节省时间并减少错误。
    • 调试功能增强,便于在调试过程中查看函数执行情况。

提示:以下是本篇文章正文内容,下面案例可供参考

一、对HAl库常见的函数记录

1.GPIO


 void MX_GPIO_Init();
//1.初始化函数 通过在CubeMax里的设置生成
//2.对芯片的 GPIO 引脚进行初始化配置,
像设置引脚是作为输入还是输出、是否开启上拉或下拉电阻等

HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
//1.翻转引脚状态 0/1

参数:

GPIOx ---GPIO中某一系列引脚,如GPIOA,GPIOC..
GPIO_Pin ---如GPIO_Pin_0;

HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
//1.读取引脚状态 

参数:

GPIOx ---GPIO中某一系列引脚,如GPIOA,GPIOC..
GPIO_Pin ---如GPIO_Pin_0;

HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
//1.写引脚状态 0/1

参数:

GPIOx ---GPIO中某一系列引脚,如GPIOA,GPIOC..

GPIO_Pin ---如GPIO_Pin_0;

PinState ---

枚举类型的变量;

 中断函数

图示函数为 EXTI15_10 触发的外部中断函数

HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

//1.首先会清除中断标志位

//2.会调用HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

 其中HAL_GPIO_EXTI_Callback函数是一个回调函数,用户可以在自己的代码中重写这个函数,来定义当特定引脚中断发生时要执行的具体操作;

标签:---,HAL,函数,Pin,引脚,所用,STM32,GPIO
From: https://blog.csdn.net/qq_70345699/article/details/144383590

相关文章

  • 利用ESP-01S中继实现STM32F103C8T6与MQTT服务器的串口双向通信
    最终现象未完待续实现流程STM32通过串口与ESP通信,ESP通过WiFi与MQTT服务器通信元件与接线STM32相关STM32F103C8T6开发板:STM32仿真器:烧录程序时,STM32F103C8T6与仿真器的接下如下:STM32ST-LINK3V33.3VGNDGNDSWDIOSWDIOSWCLKSWCLKUSB转TTL:未完待......
  • STM32 进阶 SPI外设读写Flash 寄存器代码书写
    目录SPI外设SPI外设框图需求描述硬件电路设计相关寄存器文字说明:spi.hspi.c W25Q32.hSPI外设与I2C外设一样,STM32芯片也集成了专门用于SPI协议通讯的外设。STM32的SPI外设可用作通讯的主机及从机,支持最高的SCK时钟频率为fpclk/2(STM32F103型号的芯片默认f......
  • Ubuntu下vscode cmake jlink stm32 开发环境搭建
    安装gcc-arm-none-eabiJLink或者stm32cubeide自带前面两者安装vscode扩展CMakeToolsCortex-Debug修复vscode爆红.vscode/c_cpp_properties.json{"configurations":[{"name":"Linux","includePath"......
  • 江科大STM32学习:01 C语言(2)指针
    1.指针简介指针Pointer是C语言的一个重要知识点,使用灵活,功能强大指针和底层硬件联系紧密(寄存器),使用指针可操作数据的地址,实现数据的间接访问2.计算机存储机制每个区域都是一个字节,线性分配下去,每个字节对应一个地址。注:一个字节是8bitinta=0x12345678;//十六进制,八......
  • 论文解读《From Generation to Judgment: Opportunities and Challenges of LLM-as-a-
    发表时间:2024期刊会议:arxiv论文单位:ArizonaStateUniversity论文作者:DaweiLi,BohanJiang,LiangjieHuang,AlimohammadBeigi,ChengshuaiZhao,ZhenTan,AmritaBhattacharjee,YuxuanJiang,CanyuChen,TianhaoWu,KaiShu,LuCheng,HuanLiu论文链接Whatis......
  • Halcon读取图片文件时由于文件名有看不见的字符导致找不到文件的问题
    重现步骤:在C#中使用StreamWriter向一个csv文件中写入了文件名,编码格式为utf-8。在halcon中使用fread_line读取该文件,并通过读取到的文件名使用read_image读取图片。现象:halcon在读取图片时提示文件未找到。找问题的思路:通过tuple_strlen发现读取csv文件获取到的字符串长......
  • 蓝桥杯嵌入式模板创建(STM32 CubeMx简单使用教程)
    蓝桥杯嵌入式新板模板创建&简单经验分享补充在最前:以下原文是22年还未毕业时写的,仅在把板子二手卖给别人的时候给别人分享了这份笔记。那时经验不多,现在也由于工作使用的芯片不同已很久没有使用CubeMX了,因此文章可能有很多错漏之处,欢迎在评论区指出。备注在前:uint8_t即un......
  • 多语言越狱很棒!MULTILINGUAL JAILBREAK CHALLENGES IN‍♀️LARGE LANGUAGE MODELS
    写这篇的时候第一次认识到了附录内容的重要性(bushi只是这篇读了全部的附录),它可以让你明确文章全部的实验,并且其中包含很多辅助你对正文理解的表格......
  • 【Datawhale AI 冬令营】定制专属大模型笔记
    学习目标:跟着学习手册体验AI嬛嬛,学习定制专属模型创建自己的AI应用学习内容:如何定制大模型构建数据集微调模型评价模型效果学习时间:12月10日–跑通demo12月11日–学习数据集构建,如何定制大模型学习总结:定制专属大模型:通过投喂特定语料,改造大模型,让模型在某些专......
  • 在STM32上运行KWS之三 模型搭建与训练测试
    此篇文章在2023年2月6日被记录搭建一个怎样的模型KWS模型结构属于比较简单的模型结构,但是为了少走弯路,我计划使用现成的结构,我从这个演示视频参考而来:点击我跳转,这个KWS项目运行在AT32F403上,其网络模型结构为一个64个特征的普通卷积层,然后重复四次的DS-CNN卷积,在每次卷积后都......