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

外部中断问题

caa9036c66049ace 2018-10-11 浏览量:1273
单片机外部中断程序如何设置,要加一个标志位,标志位为一进入中断吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 通常外部中断都与IO口有关,也有例外。比如STM32的RTC(实时时钟)相关的中断、USB相关的中断等。按下不提

    因为题主没有提到具体的MCU型号,我也只泛泛而谈

    首先是使中断有效。不管外部中断还是内部中断都 一样。有一个或多个中断使能寄存器,不同的中断源对应不同的位(要查MCU文档)。

    与IO相关的外部中断,进入中断的前提条件是IO口电平有变化。

    比如51单片机,只有IO口下降沿(从高变为低)才会触发中断。 AVR 和ARM可以设置上升沿中断或下降沿中断。


    总结:几乎所有的中断,进入中断的条件都不是程序员去置标志位触发的。都是某个特定条件达到时才会进入。 

    • 发布于 2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:22
  • 标志位是状态寄存器里面的位,有中断的时候自动置位,硬件自动完成,如果开启了终端,并且没有更高优先级中断的话,这个中断就执行了,中断标志呀什么的都处理完了,就执行中断回调函数,就是自己的中断服务代码了。

    如果是用 hal 库的话,只要自己实现 callback 函数,就可以执行了。

    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 3
    • 0

  • 不是要加标志位,而是中断来临之后会程序指针指向中断函数,运行中断函数
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 1
    • 0

  • 一般单片机都是不需要的因为最基本的51,都有两个外部中断可以使用。设置好外部中断模式,然后开启总中断、外部中断,写好中断服务函数,还有清中断标志,stm32的话注意开启相关时钟。基本就这些了。
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 1
    • 0

  • 看什么单片机,32只要配置好外部中断,一旦中断触发就会自动进入中断函数
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 51本来就有中断标志位的,可以判断标志位的
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 51可以配置自身的寄存器来控制外部中断


    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 外部中断触发了,标志位只是标志有中断发生,然后用来执行其他你想运行的程序
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 标志位是不需要加的, 如果用到寄存器中的标识, 接收到中断会自动触发的, 做好清除标志位,迎接下一次中断就好
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 不需要,只要配置好外部中断,声明注册回调函数,单片机上都是有外部中断的一些标志位的,接收到相应触发信号会自动置位,然后COU响应即可。就算不用硬件自动置位非要自己来查询的话也可以,也不需要自己声明标志位,因为单片机里有这个标志位
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 标志为1,同时对应的中断触发使能的同时才会触发中断
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个标志有寄存器中的标志,也可以自己设置一个标志的
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 是中断函数决定,不需要标志位吧,中断触发了进入函数即可
    • 发布于2018-10-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先你说的是哪一种,要看芯片手册。以C51为例子是配置寄存器的,配置完打开,满足条件就自动进入了
    • 发布于2018-10-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 对于STM来说不需要你说的标志位,而对于51来说有标志位的配置一说。

    具体参考设计说明书手册

    • 发布于2018-10-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个标志位是靠硬件来检测的,中断多是硬件行为,当开启了中断,一旦标志位被置位就产生一个中断,这个行为不是软件实现的
    • 发布于2018-10-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要检查你的硬件标志位,通过你的硬件标志位来判断中断的方式
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个由你的硬件标志来判断的,开启了中断后有硬件中断就会产生中断标志
    • 发布于2018-10-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 外部中断需要配置gpio复用和中断标志位,响应了外部中断之后要把标志位清零。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 你要设置中断使能寄存器的 ,使能后,再设置GPIO口的功能,这样有中断时才会进中断函数
    • 发布于2018-11-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是进入中断后,才会有标志位的设置的
    • 发布于2018-11-06
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

外部中断问题