]> wirehaze git hosting - stm32f411ceu6.git/blob - stm32f411.h

wirehaze git hosting

02799f90f9eaa1c9588c825bf5e5b0a7941c96e3
[stm32f411ceu6.git] / stm32f411.h
1 #ifndef _STM32F411_H_
2 #define _STM32F411_H_
3
4 /* (todo) boundary check? */
5 #define _MMIO_(base, offset) ((volatile unsigned int * const) (base + offset))
6
7
8 /* AHB1 ------------------------------------------------------------------- */
9
10 #define RCC 0x40023800
11 #define RCC_CR _MMIO_ (RCC, 0x00)
12 #define RCC_CFGR _MMIO_ (RCC, 0x08)
13 #define RCC_AHB1ENR _MMIO_ (RCC, 0x30)
14 #define RCC_APB2ENR _MMIO_ (RCC, 0x44)
15
16 #define GPIOC 0x40020800
17 #define GPIOC_MODER _MMIO_ (GPIOC, 0x00)
18 #define GPIOC_ODR _MMIO_ (GPIOC, 0x14)
19
20 #define GPIOA 0x40020000
21 #define GPIOA_MODER _MMIO_ (GPIOA, 0x00)
22 #define GPIOA_ODR _MMIO_ (GPIOA, 0x14)
23 #define GPIOA_AFRH _MMIO_ (GPIOA, 0x24)
24
25
26 /* APB2 ------------------------------------------------------------------- */
27
28 #define USART1 0x40011000
29 #define USART1_SR _MMIO_ (USART1, 0x00)
30 #define USART1_DR _MMIO_ (USART1, 0x04)
31 #define USART1_BRR _MMIO_ (USART1, 0x08)
32 #define USART1_CR1 _MMIO_ (USART1, 0x0c)
33 #define USART1_CR2 _MMIO_ (USART1, 0x10)
34 #define USART1_CR3 _MMIO_ (USART1, 0x14)
35 #define USART1_GTPR _MMIO_ (USART1, 0x18)
36
37
38 #endif /* _STM32F411_H_ */