RCSwitch Problem

Hallo, ich wollte meine 433MHz-Steckdosen mit einem ESP-12 Modul überprüfen. Vor einem Jahr hat der Sketch noch funktioniert, jetzt erhalte ich nach erfolgreicher Kompilierung auf dem “Seriellen Monitor” folgende Meldungen. Ich verwende Arduino 1.8.13.
Es ist egal, welchen Sketch ich für den Empfang verwende.
https://github.com/sui77/rc-switch/tree/master/examples
oder

#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
    mySwitch.resetAvailable();
  }
}

Die Fehlermeldungen sind dann:

Abort called

stack>>>

ctx: cont
sp: 3ffffed0 end: 3fffffc0 offset: 0000
3ffffed0: feefeffe feefeffe feefeffe feefeffe
3ffffee0: 000000fe 00000000 00000000 00000000
3ffffef0: 00000000 00000000 00000000 00ff0000
3fffff00: 5ffffe00 5ffffe00 00000020 00000000
3fffff10: 00000003 00000000 3ffee52c 402023f6
3fffff20: 401003fa 3ffef29c 3ffef284 40202408
3fffff30: 0000001c 00002580 3ffee52c 4020291d
3fffff40: 00000000 402033d5 ffffffff 00000001
3fffff50: feefeffe 00000001 3ffee504 3ffee56c
3fffff60: 3fffdad0 00000000 3ffee52c 402029cc
3fffff70: 00000000 feefeffe feefeffe 4020106c
3fffff80: 00002580 0000001c 00000000 40201080
3fffff90: 3fffdad0 00000000 3ffee52c 4020144c
3fffffa0: feefeffe feefeffe feefeffe 40202004
3fffffb0: feefeffe feefeffe 3ffe84e4 40100cf9
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------
?)⸮L⸮⸮⸮⸮⸮ISR not in IRAM!

User exception (panic/abort/assert)

Danke für eure Mithilfe.
Gruß Gerd

Sie müssen den ICACHE_RAM_ATTR zum ISR hinzufügen

Dies sollte für Sie erledigt werden, wenn Sie die RCSwitch-Bibliothek aktualisiert haben

#if defined(ESP8266)
    // interrupt handler and related code must be in RAM on ESP8266,
    // according to issue #46.
    #define RECEIVE_ATTR ICACHE_RAM_ATTR
    #define VAR_ISR_ATTR
#elif defined(ESP32)
    #define RECEIVE_ATTR IRAM_ATTR
    #define VAR_ISR_ATTR DRAM_ATTR
#else
    #define RECEIVE_ATTR
    #define VAR_ISR_ATTR
#endif
1 Like

Hallo @J-M-L,
danke für die schnelle Antwort. Ich habe die Erweiterung im Sketch eingebracht, doch leider ohne Erfolg. Es ist das gleiche Ergebnis.
Gruß Gerd

Das Code-Snippet ist nicht für Ihre Sketch. Es ist in der Bibliothek.

Haben Sie das neueste Update installiert?

(Deutsch ist nicht meine Muttersprache)

Was an

war unverständlich?

Gruß Tommy

Hallo Tommy,
tut mir Leid, dass ich jetzt erst antworte. Danke für deinen Unterstützung. Es hat SUPER geklappt. Ich habe meine Dateien alle gelöscht und ein Update von RC-Switch gemacht.
Recht vielen Dank.
Bleib gesund !!!
Gruß Gerd

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.