OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1173|回复: 2

F030 HAL库 EXTI中断程序内 如何去判断 究竟上升沿中断?

[复制链接]

77

主题

521

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2014-9-30
在线时间
124 小时
发表于 2024-1-16 12:18:29 | 显示全部楼层 |阅读模式
9金钱

STM32F030 的 芯片 ,HAL库 UM1785 手册 没有叙述:


EXTI 在中断程序内 如何去判断 究竟上升沿中断 还是
下降沿产生中断 ??。请看  我的程序片段 ——

void EXTI0_1_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_1_IRQn 0 */
  if(__HAL_GPIO_EXTI_GET_FLAG(GPIO_PIN_0) != RESET)     //PF0、CH1有上下
   {
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_4);              //翻转 LED指示运行到这里了
    if(如何判断 本次中断 是 上升沿) // 这个地方 HAL库 该怎么写呢 ?
      {   // 上升沿 该做什么
      }
    else
      {   // 下降沿 该做什么
      }

    __HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_0);
  }
if(__HAL_GPIO_EXTI_GET_FLAG(GPIO_PIN_1) != RESET)   //PF1、CH2有上下
  {
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);              //翻转 LED指示运行到这里了
    __HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_1);
  }
  /* USER CODE END EXTI0_1_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
  /* USER CODE BEGIN EXTI0_1_IRQn 1 */


  /* USER CODE END EXTI0_1_IRQn 1 */
}


哎 没时间 去仔细 读 寄存器 ,既然 HAL 库了 ,
UM1785 也没有说 : 具体 判断 该次中断 是 上升?
还是 下降的 【我配置成 上升/下降 双向中断】。
上升 需要干 上升的事情下降 需要干 下降的事情

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

77

主题

521

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2014-9-30
在线时间
124 小时
 楼主| 发表于 2024-1-16 12:38:13 | 显示全部楼层
进中断之后 ,去 读 该 管脚 ,是 高电平 ,还是 低电平
—— 这 ,,,,也 凑合 可以 99.99% 解决 这问题 ——
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1732
注册时间
2021-4-11
在线时间
320 小时
发表于 2024-1-16 14:31:15 | 显示全部楼层
在初始化的时候可以配置为上升沿还是下降沿触发的,然后去对应的回调函数实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 13:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表