56 |
void signame (void) |
void signame (void) |
57 |
#endif |
#endif |
58 |
|
|
59 |
/** \def INTERRUPT(signame) |
/** \def INTERRUPT(signame) |
60 |
\ingroup avr_interrupts |
\ingroup avr_interrupts |
61 |
|
|
62 |
\code#include <avr/signal.h>\endcode |
\code#include <avr/signal.h>\endcode |
63 |
|
|
64 |
|
\deprecated |
65 |
|
|
66 |
Introduces an interrupt handler function that runs with global interrupts |
Introduces an interrupt handler function that runs with global interrupts |
67 |
initially enabled. This allows interrupt handlers to be interrupted. */ |
initially enabled. This allows interrupt handlers to be interrupted. |
68 |
|
|
69 |
|
As this macro has been used by too many unsuspecting people in the |
70 |
|
past, it has been deprecated, and will be removed in a future |
71 |
|
version of the library. Users who want to legitimately re-enable |
72 |
|
interrupts in their interrupt handlers as quickly as possible are |
73 |
|
encouraged to explicitly declare their handlers like: |
74 |
|
|
75 |
|
\code |
76 |
|
void SIG_XXX(void) __attribute__((interrupt)); |
77 |
|
void SIG_XXX(void) { |
78 |
|
... |
79 |
|
} |
80 |
|
\endcode |
81 |
|
|
82 |
|
where SIG_XXX is the name of a valid interrupt vector for the MCU |
83 |
|
type in question. |
84 |
|
*/ |
85 |
|
|
86 |
#ifdef __cplusplus |
#ifdef __cplusplus |
87 |
#define INTERRUPT(signame) \ |
#define INTERRUPT(signame) \ |