I have 2 intervaltimer ISRs, for clarity on the scope when suing sync they are running at:
"audio_ISR_Timer" 15us set to priority 0.
"controlLoopTimer" 300us priority 64.
it is easiest to see on a scope if you sync to the channel on pin 2.
the fast one toggles pin 1 up and down every time it runs, and the slow one toggles pin 2 just before a loop of 20000 ASM NOPs. which appears to stop the fast and higher priority ISR.
I thought with "nested interrupts" the lower priority one was supposed to stop and wait for the high priority ISR?
Code in Zip file because there are 3 .ino files on tabs.
View attachment irq_problem_demo.zip
"audio_ISR_Timer" 15us set to priority 0.
"controlLoopTimer" 300us priority 64.
it is easiest to see on a scope if you sync to the channel on pin 2.
the fast one toggles pin 1 up and down every time it runs, and the slow one toggles pin 2 just before a loop of 20000 ASM NOPs. which appears to stop the fast and higher priority ISR.
I thought with "nested interrupts" the lower priority one was supposed to stop and wait for the high priority ISR?
Code in Zip file because there are 3 .ino files on tabs.
View attachment irq_problem_demo.zip