Плата Motor Shield + NodeMCU выдаёт ошибку при подключении прерываний. В чём может быть причина?

Всем доброго! Сейчас делаю одну затею на базе Motor Shield + NodeMCU. И голову сломал что то над простой задачей вроде- подключение прерываний к пину, для отслеживания датчика.
Делаю так:

void setup() {
      pinMode(D6, INPUT); 
      attachInterrupt(digitalPinToInterrupt(D6), sensor_test, HIGH);  
}

//Пробовал и так:
void setup() {
      pinMode(12, INPUT); 
      attachInterrupt(digitalPinToInterrupt(12), sensor_test, HIGH);  
}

И у меня система виснет и пишет постоянно в мониторе порта:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v00041f50
~ld

Пробовал разные пины - бесполезно. Что то принципиально делаю не так похоже (для платы NodeMCU). Любому совету буду благодарен!

P.S. Проблема только в этих строках - проверял.

покажите весь код и нарисуйте схему подключения

Если бы Вы умели искать проблему, Вы бы не размещали здесь этот пост.

Будьте любезны привести полностью маленький код, который демонстрирует проблему, а не умничать “в этих строках или не в этих”.

Ну, вот например, первое о чём я подумал, что Вы забыли о том, что для esp8266 обработчик прерывания должен быть объявлен с атрибутом IRAM_ATTR void… … НО! Вы же не привели обработчик, может он у Вас так и объявлен и проблема в другом! Мы что, гадать должны?

Всё, проблема решена, спасибо! Было всё именно в этом IRAM_ATTR

В следующий раз придете без кода - выгоним сразу.

А вовсе не в тех строках, о которых Вы говорили. Надеюсь, теперь Вы поняли, что код должен быть полным?

Да не вопрос вообще :slight_smile:

прям как в анекдоте про пыль )))