diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2011-02-28 22:30:40 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2011-02-28 22:30:40 +0000 |
commit | 8c6f26e19db3310c452d19393cb4def3592671b1 (patch) | |
tree | 929c7d00fa9d85034c8fc4aa80adc3f09a64d30e /LUFA/Common | |
parent | 86a2be8536d9e246b2a87421c41b78c9fc1f25fc (diff) | |
download | lufa-8c6f26e19db3310c452d19393cb4def3592671b1.tar.gz lufa-8c6f26e19db3310c452d19393cb4def3592671b1.tar.bz2 lufa-8c6f26e19db3310c452d19393cb4def3592671b1.zip |
Add in USB_INT_RegisterHandlers() internal function to register the interrupt handler routines used by LUFA. Add dummy loads after clearing the interrupt lines according to the datasheet.
Add in temporary global interrupts enable/disable macros.
Diffstat (limited to 'LUFA/Common')
-rw-r--r-- | LUFA/Common/Common.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h index 355391b2a..76e1be1e2 100644 --- a/LUFA/Common/Common.h +++ b/LUFA/Common/Common.h @@ -95,7 +95,7 @@ // TODO #define EEMEM #define PROGMEM const - #define ISR(Name) void Name (void) + #define ISR(Name) void Name (void) __attribute__((__interrupt__)); void Name (void) #define ATOMIC_BLOCK(x) if (1) #define ATOMIC_RESTORESTATE #define pgm_read_byte(x) *x @@ -105,6 +105,8 @@ #define _delay_ms(x) #define memcmp_P(...) memcmp(__VA_ARGS__) #define memcpy_P(...) memcpy(__VA_ARGS__) + #define cpu_irq_enable() do { asm volatile("" ::: "memory"); __builtin_csrf(AVR32_SR_GM_OFFSET); } while (0) + #define cpu_irq_disable() do { __builtin_ssrf(AVR32_SR_GM_OFFSET); asm volatile("" ::: "memory"); } while (0) #warning The UC3B architecture support is currently experimental and incomplete! #endif |