STM32的HAL库开发系列 - GPIO中断/外部中断EXTI

这篇具有很好参考价值的文章主要介绍了STM32的HAL库开发系列 - GPIO中断/外部中断EXTI。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32的HAL库开发系列 - GPIO中断/外部中断EXTI

中断它可以在GPIO口的电平发生变化时产生中断,从而使得STM32微控制器能够及时响应外部设备的变化。

STM32的GPIO中断/外部中断EXTI可以配置为上升沿中断、下降沿中断和双边沿中断三种类型,分别在GPIO口电平从低电平变为高电平、从高电平变为低电平和在任意电平变化时产生中断。

STM32的GPIO中断/外部中断EXTI还支持中断优先级的配置,可以设置不同的中断优先级以控制中断的处理顺序。STM32的GPIO中断/外部中断EXTI还支持中断嵌套,可以在处理一个中断时产生另一个中断。

HAL库gpio中断服务函数

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
{
  /* EXTI line interrupt detected */
  // 确保产生了EXTI Line中断
  if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
  {
	// 清除中断标志位
    __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
	// 调用外部中断回调函数
    HAL_GPIO_EXTI_Callback(GPIO_Pin);
  }
}

在应用层编程中,可以使用STM32的GPIO中断/外部中断EXTI库函数进行中断的配置和使用,这样可以简化程序的复杂性。STM32的GPIO中断/外部中断EXTI库函数可以提供高层次的接口,让用户只需要关注中断的功能,而不需要关注底层的实现细节。

HAL库gpio中断回调函数

__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(GPIO_Pin);
  /* 
  NOTE: This function Should not be modified, when the callback is needed,
           the HAL_GPIO_EXTI_Callback could be implemented in the user file
  */
}

回调函数是加了__weak修饰的弱函数。可以在其他地方编写同名回调函数,编译器在编译时会优先选择不带__weak修饰的函数进行编译。

STM32的GPIO中断/外部中断EXTI是一种非常重要的功能,它可以在GPIO口的电平发生变化时产生中断,使得STM32微控制器能够及时响应外部设备的变化,提高系统的可靠性和灵活性。此外,STM32的GPIO中断/外部中断EXTI还支持中断类型的配置、中断优先级的配置和中断嵌套等特性,使得STM32微控制器能够更好的响应外部设备的变化。文章来源地址https://www.toymoban.com/news/detail-656960.html

到了这里,关于STM32的HAL库开发系列 - GPIO中断/外部中断EXTI的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HAL库(STM32CubeMX)之外部中断(STM32F103C8T6)

    HAL库(STM32CubeMX)——ADC学习总结(包含单次/连续模式下的轮询/中断/DMA)(蓝桥杯STM32G431RBT6) HAL库(STM32CubeMX)——DAC学习(STM32G431RBT6) HAL库(STM32CubeMX)——USART配置(中断接收/STM32G431RBT6) HAL库(STM32CubeMX)——基本定时器、PWM、输入捕获、输出比较、互补式PWM等综合学习(STM32

    2024年02月06日
    浏览(40)
  • stm32标准库和HAL库的对比学习3.《学习外部中断EXIT和应用》

            本人是大一的学生,学习了一段时间的stm32,此系列博客为个人的学习笔记,方便个人复习,如有错误或问题,非常非常欢迎大家来大力指正。 简单用文字说一下原理。 如果先要清楚了解建议去b站看一下keysking大佬的教程,很有趣易懂( 本视频的部分图也来自keys

    2024年01月19日
    浏览(38)
  • STM32基于HAL库的开发与应用(2)GPIO口控制

    一、GPIO口是在单片机开发应用中使用最频繁的一个控制。GPIO口可作为输出高低电平也可以作为输入检测输入电平的高低。 (1)通常GPIO口输出控制LED灯、有源蜂鸣器等一些只需要高低电平就可以触发的模块。 (2)通常GPIO口作为输入,用来检测输入电平的高低状态,常用于

    2024年02月11日
    浏览(31)
  • 【STM32+HAL+Proteus】系列学习教程---ADC(查询、中断、DMA模式下的电压采集)

    1、学会STM32CubeMX软件关于ADC的配置 2、掌握ADC三种模式(查询、中断、DMA)编程 3、具体目标:1、将开发板单片机采集到的电压值上传至上位机串口调试助手显示。 ADC(Analog to Digital Converter)即模数转换器,用来将模拟信号转换为数字信号。 A/D转换过程 分辨率:  A/D转换器对

    2024年04月26日
    浏览(31)
  • 【HAL库】STM32CubeMX开发----非阻塞延时实验----SysTick(滴答定时器)中断

    STM32CubeMX 下载和安装 详细教程 【HAL库】STM32CubeMX开发----STM32F103/F207/F407----目录 HAL库 有自带的 ms级 延时函数: HAL_Delay(); 缺点: 这是 阻塞延时 方式,就是延时期间,什么都不能干,这样很浪费资源。 这篇文章主要介绍,利用 SysTick(滴答定时器)中断 实现 非阻塞延时 的实验

    2024年02月16日
    浏览(42)
  • stm32——hal库学习笔记(GPIO)

    一、GPIO的八种模式分析(熟悉) GPIO_Mode_IN_FLOATING 浮空输入 GPIO_Mode_IPU 上拉输入 GPIO_Mode_IPD 下拉输入 GPIO_Mode_AIN 模拟输入 GPIO_Mode_Out_OD 开漏输出 GPIO_Mode_Out_PP 推挽输出 GPIO_Mode_AF_OD 复用开漏输出 GPIO_Mode_AF_PP 复用推挽输出 应用总结 1、上拉输入、下拉输入可以用来检测外部信号

    2024年02月21日
    浏览(31)
  • STM32的HAL库开发系列 - CAN通信实例

    CAN通信是一种高效、可靠、灵活的数据传输方式,适用于各种应用场景,在工业自动化、汽车电子、医疗设备等领域有着广泛的应用。 但理解CAN通信的实际应用,也不能全部只看软件方面,还需要对硬件上也有了解。 在硬件上,CAN通信使用两条线路:一条是数据线(CAN_H),

    2024年02月12日
    浏览(39)
  • 【STM32+HAL+Proteus】系列学习教程2---STM32开发模式选择

    1、熟悉STM32开发常用的三种模式         STM32常用的开发模式有三种:基于寄存器开发、基于标准外设库开发、基于STM32CubeMX+HAL/LL开发。通常我们学习STM32的时候,首先都得先选择一种开发模式,不同的开发模式会导致编程的架构完全不一样。 1、 基于寄存器开发模式(ST

    2024年04月28日
    浏览(27)
  • STM32的GPIO操作(寄存器&HAL)

    (注:此为乐某学习记录,若有出错的地方欢迎各位指出!) 本人使用的开发板的芯片是STM32H743XIH6,所以外设也是根据此芯片来介绍。 在使用HAL库配置的时候,需要安装STM32CubeMX。此软件可在ST官网下载,剩下的安装步骤比较简单,不会单独出篇进行讲解。 STM32CubeMX下载网址

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包