ESP32同时使用blinker和外部中断会报错-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 626|回复: 4

[已解答] ESP32同时使用blinker和外部中断会报错

[复制链接]
发表于 2022-3-31 00:37 | 显示全部楼层 |阅读模式
本帖最后由 samyujie 于 2022-3-31 01:01 编辑

我一行一行代码排除,最终确定这3行代码就会报错:Guru Meditation Error: Core  1 panic'ed (Cache disabled but cached memory region accessed)
void do_io_btn(){
}
void setup() {
  Blinker.begin(auth.c_str(), ssid.c_str(), pswd.c_str());
  pinMode(io_btn, INPUT);
  attachInterrupt(digitalPinToInterrupt(io_btn), do_io_btn, CHANGE);
}
void loop() {
Blinker.run();
}


以上代码只是运行了blink外加一个外部中断,并且外部中断的函数是空的。中断触发频率高于230次每秒就会报错。
如何解决?


发表于 2022-3-31 01:00 | 显示全部楼层
ICACHE_RAM_ATTR中断加前缀
 楼主| 发表于 2022-3-31 01:09 | 显示全部楼层
wdrvk 发表于 2022-3-31 01:00
ICACHE_RAM_ATTR中断加前缀

问题解决了,感谢大佬!!!
发表于 2022-3-31 07:37 | 显示全部楼层
和blinker无关,请看8266 arduino sdk文档,最新版本加IRAM_ATTR
Reference — ESP8266 Arduino Core documentation (arduino-esp8266.readthedocs.io)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:43 , Processed in 0.078475 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表