#include <stdio.h>
#define PERIPH_BASE (unsigned int *)0x40000000 //0x40000000
#define APB1_PERIPH_BASE (unsigned int *)(PERIPH_BASE) //0x40000000
#define APB2_PERIPH_BASE (unsigned int *)(PERIPH_BASE+0x10000) //0x40010000
#define AHB_PERIPH_BASE (unsigned int *)(PERIPH_BASE+0x20000) //0x40020000
#define GPIOB_BASE (unsigned int *)(APB2_PERIPH_BASE+0x0C00) //0x40010C00
#define RCC_BASE (unsigned int *)(AHB_PERIPH_BASE+0x1000) //0x40021000
#define RCC_APB2RSTR *(unsigned int *)(RCC_BASE+0x18)
#define GPIOB_CRL *(unsigned int *)(GPIOB_BASE)
#define GPIOB_ODR *(unsigned int *)(GPIOB_BASE+0x0C)