You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello @xarrange,
Thanks for reporting this issue to us. I could reproduce the problem at my end. Upon initial investigation , it looks like a problem with the interrupt being registered with the interrupt allocation flag ESP_INTR_FLAG_EDGE. Seems like the CPU edge type interrupt is not cleared and keeps triggering, leading to a watchdog timeout. The quickworkaround for your problem would be to register the ISR without this flag, viz.,
gpio_install_isr_service(ESP_INTR_FLAG_IRAM);
Meanwhile, we will investigate the issue further and keep this ticket posted.
For ESP-RISC-V CPU, it would latch the state of an "edge" type CPU interrupt signal on its rising edge (see Technical Reference Manual > ESP-RISC-V CPU > Interrupt Controller > Functional Description). Therefore, it needs to be manually cleared with WRITE_PERI_REG(INTERRUPT_CORE0_CPU_INT_CLEAR_REG, 1 << int_no). "level" type interrupts are not latched in the interrupt matrix, they are simply ORed, so no manual clear of the status bits are required.
Answers checklist.
IDF version.
ESP-IDF v5.1.2
Espressif SoC revision.
ESP32-C3
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
CMD
Development Kit.
cusome board
Power Supply used.
USB
What is the expected behavior?
I expect system to restart when I press the button that sets GPIO4 input to "1".
What is the actual behavior?
I get error in multiple files
Steps to reproduce.
Here is my piece of code:
Debug Logs.
More Information.
No response
The text was updated successfully, but these errors were encountered: