19 #ifndef ATOMIC_UTILS_ARCH_H
20 #define ATOMIC_UTILS_ARCH_H
23 #include "periph_cpu.h"
32 #define HAS_ATOMIC_LOAD_U8
35 return __atomic_load_1(var, __ATOMIC_SEQ_CST);
38 #define HAS_ATOMIC_LOAD_U16
41 return __atomic_load_2(var, __ATOMIC_SEQ_CST);
44 #define HAS_ATOMIC_STORE_U8
47 __atomic_store_1(dest, val, __ATOMIC_SEQ_CST);
50 #define HAS_ATOMIC_STORE_U16
53 __atomic_store_2(dest, val, __ATOMIC_SEQ_CST);
static void atomic_store_u8(volatile uint8_t *dest, uint8_t val)
Store an uint8_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.