You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
/*
|
|
* 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
|