• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32如何在中断服务程序里关闭EXTI中断?

菜鸟冷虎 2018-07-24 浏览量:3634
stm32如何在中断服务程序里关闭EXTI中断?
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个关闭中断有专门的库函数可以去操作,直接在中断的服务函数结束后禁用中断
    • 发布于 2018-07-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:11
  • 有一个中断屏蔽寄存器EXTI->IMR,只要将相关通道清零就可屏蔽了。

    比如:

    EXTI->IMR &= ~(EXTI_Line4); 屏蔽外部中断4

    EXTI->IMR |= EXTI_Line4;使能外部中断4
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 最好不要在中断中关中断,清一下中断位,返回后再关,否则程序会有问题
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 在中断服务程序里清除EXTI的标志位,关闭中断有对应函数可实现:
    EXTI_ClearITPendingBit(EXTI_LineX);
    EXTI_ClearFlag(EXTI_LineX);
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 现在中断里面清楚标志位,然后再关闭中断EXTI->IMR&=~EXTI_Line4;
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 清除标志位,调用函数关闭中断,函数是EXTI_ClearITPendingBit(EXTI_LineX)

    • 发布于2018-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 清掉标志位,然后禁止这个中断就行
    • 发布于2018-07-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以在中断服务函数中失能中断,实现中断的关闭
    • 发布于2018-08-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 在中断里面禁用中断,并清除中断标志位
    • 发布于2018-08-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接在你的中断里面禁用总中断,然后清除中断标志位
    • 发布于2018-08-21
    • 举报
    • 评论 0
    • 0
    • 0

  • XTI_ClearITPendingBit(EXTI_Line14);
    EXTI_ClearFlag(EXTI_Line14);
    清除中断标志位就好了
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

stm32如何在中断服务程序里关闭EXTI中断?