Механизм прерывания в микроконтроллерах Arduino работает следующим образом: deepbluembedded.com
- Когда процессор микроконтроллера получает сигнал прерывания, он приостанавливает выполнение основной программы и сохраняет её текущий контекст. deepbluembedded.com
- Затем процессор переходит к вектору прерывания (адресу), где находится соответствующая функция обработчика ISR, и начинает её выполнение до завершения. deepbluembedded.com
- После этого процессор восстанавливает контекст основной программы и переходит к тому месту, где было остановлено выполнение основной программы. deepbluembedded.com Всё возобновляется так, как было до поступления сигнала прерывания. deepbluembedded.com
Когда поступает новое прерывание, процессор немедленно уведомляется, и все предыдущие шаги повторяются снова. deepbluembedded.com В противном случае процессор продолжает выполнение основной программы. deepbluembedded.com
Источником сигнала прерывания может стать таймер Arduino или процесс изменения состояния одного из контактов (пинов). voltiq.ru