|
12345678910111213141516171819202122232425262728293031 |
- #pragma once
-
- #ifndef __ASM
- #define __ASM __asm
- #endif
- #ifndef __STATIC_FORCEINLINE
- #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
- #endif
-
- /**
- \brief Enable IRQ Interrupts
- \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
- Can only be executed in Privileged modes.
- */
- __STATIC_FORCEINLINE void __enable_irq(void)
- {
- __ASM volatile ("cpsie i" : : : "memory");
- }
-
-
- /**
- \brief Disable IRQ Interrupts
- \details Disables IRQ interrupts by setting the I-bit in the CPSR.
- Can only be executed in Privileged modes.
- */
- __STATIC_FORCEINLINE void __disable_irq(void)
- {
- __ASM volatile ("cpsid i" : : : "memory");
- }
-
-
|