我是靠谱客的博主 机智丝袜,最近开发中收集的这篇文章主要介绍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外部按键中断最基本的例程及IRAM_ATTR属性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部