INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 (Wemos D1 Mini) - WifiManager und TimerInterrupt
29.06.2020, 19:37
Beitrag #9
RE: ESP8266 (Wemos D1 Mini) - WifiManager und TimerInterrupt
Der Tipp von amithlon war auch Gold wert!

Ich habe in der Service Interrupt Routine timer1_ISR() mal das
Code:
shiftOut(sdi, clk, MSBFIRST, pixels);
durch ein
Code:
for (uint8_t i = 0; i<8; i++) {
  digitalWrite(sdi, !!(pixels & (1 << (7 - i))));
  digitalWrite(clk,HIGH);
  digitalWrite(clk,LOW);                
}
ersetzt.

Und siehe da, jetzt funktioniert's. Shy
Auch bei funktionsfähigem WiFiManager kein Absturz mehr.
Sogar die Schreib- Lese-Vorgänge ins/vom SPIFFS klappen jetzt, ohne dass ich extra dafür temporär vom TimerInterrupt detach'en muss.
Top! Vielen Dank auch für diesen Tipp!

Viele Grüße
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.06.2020, 19:49
Beitrag #10
RE: ESP8266 (Wemos D1 Mini) - WifiManager und TimerInterrupt
Das hört sich doch großartig an. Dann scheint shiftOut das Problemkind zu sein.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2020, 06:24
Beitrag #11
RE: ESP8266 (Wemos D1 Mini) - WifiManager und TimerInterrupt
Hallo,
freut mich, wenn das so geklappt hat.
Warum wird wohl eher ein Rätsel bleiben oder sich mehr zufällig auflösen, wenn es nach einem SDK-Update plötzlich geht.
Eine Diskussion dazu taucht im Espressif-Forum immer wieder mal auf, schon sehr lange.
Es passiert wohl, wenn in einer ISR die SPI-Hardware genutzt wird bzw. genutzt werden soll. Das macht sowohl die ArduinoIDE als auch Espressif "automatisch", wenn es möglich ist.
Direkt per SPI rauszuschieben ergibt den gleichen Effekt.
Ich habe es für mich als "kein SPI innerhalb innerhalb einer ISR" registriert.
Oder auch "ist eben so". Wink

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 core for Arduino 2.7.0 Fips 15 1.499 09.07.2020 07:01
Letzter Beitrag: Fips
  Erster Versuch mit "ESP8266 NodeMCU V3" Mathias 6 273 03.07.2020 18:14
Letzter Beitrag: Mathias
  WS2812b am Wemos mini - Idee, warum's nicht geht? a-stern.1 10 424 03.07.2020 05:17
Letzter Beitrag: N1d45
  WEMOS D1 mini pro nach 4 Jahren gestorben Tommy56 1 181 02.07.2020 05:52
Letzter Beitrag: amithlon
  ESP8266: Power Loss erkennen und kontrolliert abschalten stw 12 837 21.06.2020 22:56
Letzter Beitrag: stw
  ESP8266: ADC und Webserver stw 13 632 21.06.2020 20:16
Letzter Beitrag: Tommy56
  i2c LCD Display am Wemos D1 Mini mit mqtt klappt nach modifikation nicht raspido 5 415 15.06.2020 22:19
Letzter Beitrag: stw
  ESP8266 im Betrieb zeitweise nicht mehr zu erreichen Faror 4 414 13.06.2020 18:10
Letzter Beitrag: elux011
  D1 Mini Windmessung - Interrupt/Zeitfaktor rev.antun 15 857 13.06.2020 13:00
Letzter Beitrag: nbk83
  ESP8266 DHT22,SDS011, MYSQL Datenbank und veröffentlichen von Live werten. Bilderberg2020 15 1.303 07.06.2020 15:18
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste