.TH "interrupt.h" 3 "24 Jun 2019" "Version 2.0.0" "avr-libc" \" -*- nroff -*- .ad l .nh .SH NAME interrupt.h \- .SH SYNOPSIS .br .PP .SS "Defines" .PP .RI "\fBGlobal manipulation of the interrupt flag\fP" .br The global interrupt flag is maintained in the I bit of the status register (SREG). .PP Handling interrupts frequently requires attention regarding atomic access to objects that could be altered by code running within an interrupt context, see <\fButil/atomic.h\fP>. .PP Frequently, interrupts are being disabled for periods of time in order to perform certain operations without being disturbed; see \fBProblems with reordering code\fP for things to be taken into account with respect to compiler optimizations. .PP .in +1c .in +1c .ti -1c .RI "#define \fBsei\fP()" .br .ti -1c .RI "#define \fBcli\fP()" .br .in -1c .in -1c .PP .RI "\fBMacros for writing interrupt handler functions\fP" .br .PP .in +1c .in +1c .ti -1c .RI "#define \fBISR\fP(vector, attributes)" .br .ti -1c .RI "#define \fBSIGNAL\fP(vector)" .br .ti -1c .RI "#define \fBEMPTY_INTERRUPT\fP(vector)" .br .ti -1c .RI "#define \fBISR_ALIAS\fP(vector, target_vector)" .br .ti -1c .RI "#define \fBreti\fP()" .br .ti -1c .RI "#define \fBBADISR_vect\fP" .br .in -1c .in -1c .PP .RI "\fBISR attributes\fP" .br .PP .in +1c .in +1c .ti -1c .RI "#define \fBISR_BLOCK\fP" .br .ti -1c .RI "#define \fBISR_NOBLOCK\fP" .br .ti -1c .RI "#define \fBISR_NAKED\fP" .br .ti -1c .RI "#define \fBISR_ALIASOF\fP(target_vector)" .br .in -1c .in -1c .SH "Detailed Description" .PP @{ .SH "Author" .PP Generated automatically by Doxygen for avr-libc from the source code.