esp8266 防掉线方法_ESP8266-12F 中断

6662f426c9ec9c28088fb6c89cb45cce.png

外部中断:

基于ESP8266的NodeMcu的数字IO的中断功能是通过attachInterrupt,detachInterrupt函数所支持的。除了D0/GPIO16,中断可以绑定到任意GPIO的引脚上【D0-D10】。所支持的标准中断类型有:CHANGE(改变沿,电平从低到高或者从高到低)、RISING(上升沿,电平从低到高)、FALLING(下降沿,电平从高到低)

attachInterrupt(pin, function, mode);      设置触发中断的引脚

pin:要设置中断编号,注意,这里不是引脚编号

function:中断发生时运行的函数, 这个函数不带任何参数,不返回任何内容

Interrupt type/mode:它定义中断被触发的条件方式

CHANGE:改变沿,引脚电平从低变为高或者从高变为低时触发中断。

RISING:上升沿,引脚电平从低变为高时触发中断。

FALLING:下降沿,引脚电平从高变为低时触发中断

返回值: 无

detachInterrupt(pin);    取消指定引脚的中断

pin:中断号

返回值: 无

digitalPinToInterrupt(pin);获取指定引脚的中断号

pin:要获取中断号的GPIO引脚

返回值: 中断号

引脚对应的中断号:

D1:5       D2:4       D4:2      D5:14       D6:12       D7:13     D8:15

例子一:

将NodeMcu的D2引脚设置为上升沿中断。在D2上外接一个按键,按键通过电阻下拉到地。当发生中断的时候,我们在串口监视器上打印“Hello ESP8266”

6097537ed362892669103d6665946263.png

voidsetup() {

Serial.begin(115200);//设置串口波特率

attachInterrupt(digitalPinToInterrupt(D2), InterruptFunc, RISING);//设置中断号、响应函数、触发方式

}voidloop() {

delay(2000);

}void InterruptFunc(){ //中断响应函数

Serial.println("Hello ESP8266");

}

不知道为何串口打印的数据 不对 ???????????

天子骄龙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值