| 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) \ |