diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h index d7589975c7f5683675b63bf8c7d0556df387fee3..ffbb70bcc393602d671b2e43cafcfc48b67f2497 100644 --- a/teensy/teensy_hal.h +++ b/teensy/teensy_hal.h @@ -119,6 +119,19 @@ __attribute__(( always_inline )) static inline void __WFI(void) __asm volatile ("wfi"); } +__attribute__(( always_inline )) static inline uint32_t __get_PRIMASK(void) +{ + uint32_t result; + __asm volatile ("MRS %0, primask" : "=r" (result)); + return(result); +} + +__attribute__(( always_inline )) static inline void __set_PRIMASK(uint32_t priMask) +{ + __asm volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); +} + + uint32_t HAL_GetTick(void); void HAL_Delay(uint32_t Delay);