\hypertarget{interrupt_8h}{}\doxysubsection{interrupt.\+h File Reference}
\label{interrupt_8h}\index{interrupt.h@{interrupt.h}}
\doxysubsubsection*{Macros}
\begin{Indent}\textbf{ Global manipulation of the interrupt flag}\par
{\em The global interrupt flag is maintained in the I bit of the status register (S\+R\+EG).

Handling interrupts frequently requires attention regarding atomic access to objects that could be altered by code running within an interrupt context, see $<$\mbox{\hyperlink{atomic_8h}{util/atomic.\+h}}$>$.

Frequently, interrupts are being disabled for periods of time in order to perform certain operations without being disturbed; see \mbox{\hyperlink{optimization_optim_code_reorder}{Problems with reordering code}} for things to be taken into account with respect to compiler optimizations. }\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_gaad5ebd34cb344c26ac87594f79b06b73}{sei}}()
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga68c330e94fe121eba993e5a5973c3162}{cli}}()
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Macros for writing interrupt handler functions}\par
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_gad28590624d422cdf30d626e0a506255f}{I\+SR}}(vector,  attributes)
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga67cd0dea412157775c2f2a3ffe9fb8ff}{S\+I\+G\+N\+AL}}(vector)
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga751c22101f7e8f2fbe792c64a81f8dba}{E\+M\+P\+T\+Y\+\_\+\+I\+N\+T\+E\+R\+R\+U\+PT}}(vector)
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_gade46eb4e42cc9d56c19b1f91448f1b76}{I\+S\+R\+\_\+\+A\+L\+I\+AS}}(vector,  target\+\_\+vector)
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga3b991e8168db8fc866e31f9a6d10533b}{reti}}()
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga1f6459a85cda682b2163a20af03ac744}{B\+A\+D\+I\+S\+R\+\_\+vect}}
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ I\+SR attributes}\par
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga5fc50a0507a58e16aca4c70345ddac6a}{I\+S\+R\+\_\+\+B\+L\+O\+CK}}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga44569cb914d2aaf8fbb436f8f7c4ca68}{I\+S\+R\+\_\+\+N\+O\+B\+L\+O\+CK}}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_ga8b4c7e44627db0a60d676213add42d64}{I\+S\+R\+\_\+\+N\+A\+K\+ED}}
\item 
\#define \mbox{\hyperlink{group__avr__interrupts_gaa87c0c624b62f40a17539be6946c3e26}{I\+S\+R\+\_\+\+A\+L\+I\+A\+S\+OF}}(target\+\_\+vector)
\end{DoxyCompactItemize}
\end{Indent}


\doxysubsubsection{Detailed Description}
@\{ 