#pragma once #include struct Gpio { volatile uint32_t data; }; #define gpio0 ((Gpio*) 0x40000000) inline void ToggleLed(int which) { uint8_t data = gpio0->data; data ^= (0x1 << which); gpio0->data = data; } inline void SetLed(int which) { uint8_t data = gpio0->data; data |= (0x1 << which); gpio0->data = data; } inline void ClearLed(int which) { uint8_t data = gpio0->data; data &= ~(0x1 << which); gpio0->data = data; }