中断(Interrupt)
中断(Interrupt)是计算机的一个重要概念,现代计算机普遍采用中断技术.
什么是中断呢?
CPU执行时原本是按照程序指令一条一条向下执行的.但如果此时发生了某一件事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来被中断的地方继续执行程序(中断返回),这一过程成为中断.
打个比方:加入你正在读书,这时电话响了你放下手中的书,去接电话.接娃完电话后,在继续回来读书,并从原来读的地方继续往下读.
当中断发生时,程序执行流程图示如下:
换句话讲呢:
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。相当于你在读书时听到了敲门声,即中断源向你发出了中断请求,你需要放下书本,先去开门,发现原来是外卖到了。你处理完之后,又回去继续读书,并从你刚才读到的地方继续往下读。如果你是一个机器人的话,你从听到敲门声到回来继续读书的过程,构成了整个的中断过程。写入你大脑中的程序即为软件处理程序,门就是中断装置。
备注:Arduino UNO 开发板的 2、3,可以输入外部中断信号。中断有四种触发模式:低电平触发、电平改变触发、上升沿触发、下降沿触发。
Arduino的定时器中断
使用定时器中断前,必须先安装MsTimer2库,并在程序中引用