21 #include <libopencm3/stm32/gpio.h>
22 #include <libopencm3/cm3/nvic.h>
23 #include <libopencm3/stm32/exti.h>
26 #define LENGTH(x) (sizeof(x) / sizeof((x)[0]))
31 #if defined(SYSTEM_BOARD)
33 #define LED_RCC RCC_GPIOA
34 #define LED_PORT GPIOA
36 #elif defined(BLUE_PILL)
38 #define LED_RCC RCC_GPIOC
39 #define LED_PORT GPIOC
40 #define LED_PIN GPIO13
41 #elif defined (MAPLE_MINI)
43 #define LED_RCC RCC_GPIOB
44 #define LED_PORT GPIOB
52 #if defined(MAPLE_MINI)
54 #define BUTTON_RCC RCC_GPIOB
55 #define BUTTON_PORT GPIOB
56 #define BUTTON_PIN GPIO8
57 #define BUTTON_EXTI EXTI8
58 #define BUTTON_IRQ NVIC_EXTI9_5_IRQ
59 #define BUTTON_ISR exti9_5_isr
66 #if defined(SYSTEM_BOARD) || defined(BLUE_PILL)
67 gpio_clear(LED_PORT, LED_PIN);
68 #elif defined(MAPLE_MINI)
69 gpio_set(LED_PORT, LED_PIN);
75 #if defined(SYSTEM_BOARD) || defined(BLUE_PILL)
76 gpio_set(LED_PORT, LED_PIN);
77 #elif defined(MAPLE_MINI)
78 gpio_clear(LED_PORT, LED_PIN);
84 gpio_toggle(LED_PORT, LED_PIN);
87 int _write(
int file,
char *ptr,
int len);
93 char*
b2s(uint64_t binary, uint8_t rjust);
void led_off(void)
switch off board LED
int _write(int file, char *ptr, int len)
default printf output
void led_on(void)
switch on board LED
void led_toggle(void)
toggle board LED
char * b2s(uint64_t binary, uint8_t rjust)
get binary representation of a number