我是靠谱客的博主 机智丝袜,这篇文章主要介绍ESP8266外部按键中断最基本的例程及IRAM_ATTR属性,现在分享给大家,希望可以做个参考。

ESP8266外部按键中断最基本的例程

#include <Arduino.h>

IRAM_ATTR void keyHandler()
{
    Serial.println("key press...");
}

void setup()
{
    Serial.begin(115200);
    pinMode(4, INPUT_PULLUP);
    attachInterrupt(4, keyHandler, FALLING);    
}

void loop()
{

}

关键点在于,回调函数keyHandler()前一定要加属性关键字IRAM_ATTR,即声明编译后的代码将放置在 ESP8266的内部 RAM (IRAM) 中。否则,代码将放在 Flash 中,闪存比内部 RAM 慢得多。
若不加IRAM_ATTR,ESP8266会直接死机,串口输出如下:
在这里插入图片描述

最后

以上就是机智丝袜最近收集整理的关于ESP8266外部按键中断最基本的例程及IRAM_ATTR属性的全部内容,更多相关ESP8266外部按键中断最基本内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(119)

评论列表共有 0 条评论

立即
投稿
返回
顶部