0°

(五)Arduino系列:NodeMCU GPIO定时器中断

介绍

中断是在连续性工作中随机发生的事件。这就像你忙于一些工作时的电话,根据电话优先级,你决定是接听还是忽视。

基于NodeMCU的ESP8266在其GPIO引脚上具有中断功能。此功能在NodeMCU Dev Kit的D0-D8引脚上可用。

通过Arduino中断功能支持GPIO引脚中断,即attachInterrupt,detachInterrupt

除D0 / GPIO16引脚外,可以将中断连接到任何GPIO引脚。支持标准Arduino中断类型,即CHANGE,RISING,FALLING。

NodeMCU的Arduino中断功能

让我们看看用于在Arduino IDE中为NodeMCU工具包设置中断的函数。

attachInterrupt()

该功能用于在指定引脚上附加中断。

句法: attachInterrupt(pin, ISR(callback function), interrupt type/mode);

参数:

  • pin要设置中断的引脚编号。
  • ISR (callback function)中断发生时要调用的ISR; 此函数不接受任何参数并且不返回任何内容。
  • Interrupt type/mode它定义何时应触发中断。

CHANGE:用于在引脚值改变时触发中断。

RISING用于在引脚从低电平变为高电平时触发中断。

FALLING:用于在引脚从高电平变为低电平时触发中断。

返回: null

 

detachInterrupt()

该功能用于禁止指定GPIO引脚上的中断。

句法: detachInterrupt(pin)

参数:

  • pin要禁用的中断的GPIO引脚。

返回: null

 

让我们编写一个Arduino程序,在NodeMCU的第二个GPIO引脚上设置上升沿中断。在这里,我们连接第二个GPIO引脚上的开关,以在其上产生上升沿中断。此外,我们将打印串行监视器窗口中发生的中断的时间(以毫秒为单位)。

(五)Arduino系列:NodeMCU GPIO定时器中断

 

用于GPIO中断的Arduino程序

uint8_t GPIO_Pin = D2;

void setup() {
 Serial.begin(9600);
 attachInterrupt(digitalPinToInterrupt(GPIO_Pin), IntCallback, RISING);
}

void loop() {
}

余下程序:

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:

输出结果

(五)Arduino系列:NodeMCU GPIO定时器中断

完整程序下载 

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论