Is it possible to run SPI communication in ISR of GPIO?
Posted: Tue Apr 03, 2018 5:54 pm
Hi, I'm porting a peripheral library that sends SPI data in GPIO's interrupt routine. The panic occurring when firmware running.
So I think that can't be ran in ISR. Can it?
Is there any solution for this?
Code: Select all
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)
Core 0 register dump:
PC : 0x400874ee PS : 0x00060234 A0 : 0x80086836 A1 : 0x3ffc0630
0x400874ee: vListInsert at .../esp-idf/components/freertos/./list.c:188 (discriminator 1)
A2 : 0x3ffc6438 A3 : 0x3ffc7ba8 A4 : 0x00060221 A5 : 0x00000001
A6 : 0x00060221 A7 : 0x3ffc64a0 A8 : 0x3ffc7ba8 A9 : 0x3ffc7ba8
A10 : 0x00000019 A11 : 0x00000019 A12 : 0x00000004 A13 : 0x00000001
A14 : 0x00060223 A15 : 0x00000000 SAR : 0x0000001e EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Core 0 was running in ISR context:
EPC1 : 0x40085e43 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x400874ee
...
0x400ecb25: spi_device_get_trans_result at .../esp-idf/components/driver/./spi_master.c:772
0x400ecba6: spi_device_transmit at .../esp-idf/components/driver/./spi_master.c:807
Code: Select all
spi_device_transmit()
Is there any solution for this?