thijse / Arduino-DCF77

Efficient and complete DCF77 library for Arduino
GNU Lesser General Public License v2.1
43 stars 17 forks source link

ISR not in IRAM! #20

Open AlphaZiege opened 3 years ago

AlphaZiege commented 3 years ago

I use an ESP8266 and if want to use your Library I get this error message:

ISR not in IRAM!

User exception (panic/abort/assert)
--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Abort called

>>>stack>>>

ctx: cont
sp: 3ffffea0 end: 3fffffc0 offset: 0000
3ffffea0:  3ffe84d8 3ffef44c 3ffe8e1d 4023cd2a  
3ffffeb0:  000000fe 00000000 00000000 00000000  
3ffffec0:  00000000 00000000 00000000 00ff0000  
3ffffed0:  5ffffe00 5ffffe00 3fff09cc 00000000  
3ffffee0:  00000003 0000000e 3ffef44c 402106b2  
3ffffef0:  401007ca 00000000 43004643 402106c4  
3fffff00:  3ffe8b9a 0bee04b8 3ffef44c 40210bce  
3fffff10:  00000000 3ffef44c 3ffe8e1d 4020e560  
3fffff20:  4020e554 3ffef44c 3ffe8e1d 3ffef2e4
3fffff30:  3ffe84cc 3ffef108 3ffef44c 40210c80  
3fffff40:  3ffe84cc 3ffef108 3ffef44c 40208cf5
3fffff50:  3ffe84cc 3ffef108 3ffef44c 40203582
3fffff60:  feefeffe feefeffe feefeffe feefeffe
3fffff70:  feefeffe feefeffe feefeffe feefeffe  
3fffff80:  0000000a feefeffe feefeffe feefeffe
3fffff90:  feefeffe feefeffe feefeffe 3ffef598
3fffffa0:  3fffdad0 00000000 3ffef558 4021026c  
3fffffb0:  feefeffe feefeffe 3ffe84f8 401003d1
<<<stack<<<

To fix this error you need to add ICACHE_RAM_ATTR to your DCF77::int0handler() function: void ICACHE_RAM_ATTR DCF77::int0handler() {}

anno73 commented 2 years ago

Nowadays ICACHE_RAM_ATTR seems to be deprecated and IRAM_ATTR should be used instead.