30#define HAS_ATOMIC_LOAD_U8 
   33    return __atomic_load_1(var, __ATOMIC_SEQ_CST);
 
   36#define HAS_ATOMIC_LOAD_U16 
   39    return __atomic_load_2(var, __ATOMIC_SEQ_CST);
 
   42#define HAS_ATOMIC_LOAD_U32 
   45    return __atomic_load_4(var, __ATOMIC_SEQ_CST);
 
   48#define HAS_ATOMIC_STORE_U8 
   51    __atomic_store_1(dest, val, __ATOMIC_SEQ_CST);
 
   54#define HAS_ATOMIC_STORE_U16 
   57    __atomic_store_2(dest, val, __ATOMIC_SEQ_CST);
 
   60#define HAS_ATOMIC_STORE_U32 
   63    __atomic_store_4(dest, val, __ATOMIC_SEQ_CST);
 
static void atomic_store_u8(volatile uint8_t *dest, uint8_t val)
Store an uint8_t atomically.
 
static uint32_t atomic_load_u32(const volatile uint32_t *var)
Load an uint32_t atomically.
 
static uint16_t atomic_load_u16(const volatile uint16_t *var)
Load an uint16_t atomically.
 
static uint8_t atomic_load_u8(const volatile uint8_t *var)
Load an uint8_t atomically.
 
static void atomic_store_u16(volatile uint16_t *dest, uint16_t val)
Store an uint16_t atomically.
 
static void atomic_store_u32(volatile uint32_t *dest, uint32_t val)
Store an uint32_t atomically.
 
CPU specific definitions for internal peripheral handling.