#pragma once /** * sys/arch/spinlock.h AVR Spinlock implementation **/ #include #include #include #define SPINLOCK_INIT_UNLOCKED 0x00 #define SPINLOCK(name) spinlock_t name = SPINLOCK_INIT_UNLOCKED typedef uint8_t spinlock_t; void spinlock_lock(spinlock_t *spinlock); void spinlock_release(spinlock_t *spinlock); void spinlock_lock_irq(spinlock_t *spinlock,cpustate_t *state); void spinlock_release_irq(spinlock_t *spinlock,cpustate_t *state);