What is an interrupt?
ISR and IRQ?
ISR - interrupt service routine
IRQ - interrupt request (act of interrupting)
RETI used when?
ISR execution completes -> Returning from interrupt
–> restores registers and sets I-Bit in SREG
What is an interrupt source?
What is an interrupt flag?
What is the interrupt mask?
What is the interrupt vector table?
ISR Steps?
Example of an ISR definition (signal/interrupt). Explain difference=
What is a race conditions?
- Situation where outcome varies depending on precise order in which instructions of main code and ISR are executed
What is a critical section?
Code that must be executed without interruptions
Example of an atomic access block?
Non-nested:
cli();
do_stuff();
sei();
For nested interrupts: uint8_t sreg = SREG; cli(); do_stuff(); SREG = sreg;
Definition: Time triggered system