WEMOS D1 - opakovaný restart

Odpovědět
ohruska
Příspěvky: 191
Registrován: 08 pro 2017, 20:56
Reputation: 0

WEMOS D1 - opakovaný restart

Příspěvek od ohruska » 03 čer 2019, 14:07

Zdravím.
Při programování WEMOS D1, když použiji přerušení, tak se po startu deska hned restartuje.
Prostředi 1.8.5 a poslední aktualizace desek ESP8266.
Na stolním počítači, kde je stejné prostředí 1.8.5, ale ovladače pro desky ESP8266 byly nahrány již dříve, mě to funguje.
Neporadí někdo, kde by mohla být chyba?

Ota

jankop
Příspěvky: 569
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: WEMOS D1 - opakovaný restart

Příspěvek od jankop » 03 čer 2019, 14:39

No, pro aktuální jádro Arduino ESP8266 se uvádí:
Nainstalujte aktuální Arduino IDE na úrovni 1.8.7 nebo novější.
Jestli to třeba nebude tím.

ohruska
Příspěvky: 191
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: WEMOS D1 - opakovaný restart

Příspěvek od ohruska » 03 čer 2019, 17:51

Nová verze nepomohla.
Abort called

>>>stack>>>

ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01b0
3fffff60: 3ffe8572 00000001 3ffee258 402012f5
3fffff70: 3ffe8566 00000001 3ffee258 3ffee2b0
3fffff80: 3fffdad0 00000000 3ffee258 40100452
3fffff90: feefeffe 00000000 3ffee258 4020109c
3fffffa0: feefeffe feefeffe 3ffee280 402017a4
3fffffb0: feefeffe feefeffe 3ffe84f4 4010073d
<<<stack<<<

⸮t⸮KV⸮⸮L ⸮t%⸮⸮X⸮
ISR not in IRAM!

jankop
Příspěvky: 569
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: WEMOS D1 - opakovaný restart

Příspěvek od jankop » 03 čer 2019, 18:16

No asi nějaký problém existuje:
https://github.com/esp8266/Arduino/issues/6127

ohruska
Příspěvky: 191
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: WEMOS D1 - opakovaný restart

Příspěvek od ohruska » 03 čer 2019, 20:12

Nahrál jsem starší verzi ovladačů pro desky ESP8266 a funguje to.
Díky za pomoc.
Ota

HaT
Příspěvky: 4
Registrován: 01 říj 2018, 14:37
Reputation: 0

Re: WEMOS D1 - opakovaný restart

Příspěvek od HaT » 04 čer 2019, 11:40

Pokud se jedná o chybu 'ISR not in IRAM!' tak to není chyba ale featura :-). Pročítal jsem fóra a jde o to, že od nové verze ESP8266 library je striktně vyžadováno aby callback funkce pro přerušení byla ICACHE_RAM_ATTR. Stačí tedy do kódu přidat ICACHE_RAM_ATTR pro všechny fce volané z přerušení. Z oficial githubu:

The fix is: add ICACHE_RAM_ATTR just before all functions called from an interrupt (attach_interrupt)


Dříve to prý nebylo striktně vyžadováno (i když správně to tak má být) a prý to sem tam působilo nečekané restarty. Tak se rozhodli tento parametr od nové verze striktně vyžadovat...

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host