/* * My gola is to write my own gio lib * */ //USER LED GREEN //PORT B //PIN 3 //#define PERIPH_BASE (0x40000000UL) #define AHB1_PERIPH_OFFSET (0x00020000UL) #define AHB1_PERIPH_BASE (PERIPH_BASE + AHB1_PERIPH_OFFSET) #define AHB2_PERIPH_OFFSET (0x08000000UL) #define AHB2_PERIPH_BASE (PERIPH_BASE + AHB2_PERIPH_OFFSET) #define GPIOA_OFFSET (0x0000U) //#define GPIOA_BASE (AHB2_PERIPH_BASE + GPIOA_OFFSET) #define GPIOB_OFFSET (0x00000400UL) //#define GPIOB_BASE (AHB2_PERIPH_BASE + GPIOB_OFFSET) #define RCC_OFFSET (0x00021000UL) //#define RCC_BASE (AHB1_PERIPH_BASE + RCC_OFFSET) //https://stackoverflow.com/questions/18785991/define-regx-volatile-unsigned-int-x #define AHBENR_OFFSET (0x14UL) #define RCC_AHBENR (*(volatile unsigned int *)(RCC_BASE + AHBENR_OFFSET)) #define IOPAEN (1U << 17) #define IOPBEN (1U << 18) #define MODER_OFFSET (0x00UL) #define GPIOX_MODER (*(volatile unsigned int *)(GPIOB_BASE + MODER_OFFSET)) #define GPIOX_ODR_OFFSET (0x14UL) #define GPIOB_ODR (*(volatile unsigned int *)(GPIOB_BASE + GPIOX_ODR_OFFSET)) #define PINB3 (1U<<3) #define LED_PIN PINB3