上QQ阅读APP看书,第一时间看更新
4.4 中断函数
单片机的中断是由于某一随机事件的发生,单片机原程序暂停运行,转去执行另一程序(中断服务程序),执行完毕后又自动返回原程序中断点继续运行,包括中断源、主程序、中断服务程序。
中断源:引起中断的软硬件。
主程序:现在运行的程序。
中断服务程序:中断发生后,处理中断事件的程序。
1.interrupts()和noInterrupts()
在Arduino中,interrupts函数负责打开中断,noInterrupts函数负责关闭中断,这两个函数均无参数且无返回值函数。
2.attachInterrupt(interrput,function,mode)
attachInterrupt函数用于设置外部中断,包括3个参数,分别为中断源、中断处理函数和触发模式,下面具体说明。
中断源:值为0或者1,对应2或者3号数字引脚。
中断处理函数:其参数值为函数的指针,当中断发生时执行该子程序部分,是一段子程序。
触发模式:4种类型:LOW(低电平触发)、CHANGE(变化时触发)、RISING(低电平变为高电平触发)、FALLING(高电平变为低电平触发)
3.detachInterrupt(interrput)
detachInterrupt:取消中断,参数interrupt表示要取消的中断源。