GPS Device
Loading...
Searching...
No Matches
stm32f401re.h
Go to the documentation of this file.
1
27
33
34#ifndef STM32F401RE_H_
35#define STM32F401RE_H_
36
37#include <stdint.h>
38
45
47#define ADDR_APB1 (0x40000000U)
48#define ADDR_SPI3 (ADDR_APB1 + 0x3C00)
49#define ADDR_SPI2 (ADDR_APB1 + 0x3800)
50#define ADDR_RTC (ADDR_APB1 + 0x2800)
51#define ADDR_PWR (ADDR_APB1 + 0x7000)
52#define ADDR_I2C3 (ADDR_APB1 + 0x5C00)
53#define ADDR_I2C2 (ADDR_APB1 + 0x5800)
54#define ADDR_I2C1 (ADDR_APB1 + 0x5400)
55#define ADDR_USART2 (ADDR_APB1 + 0x4400)
56
58#define ADDR_APB2 (0x40010000U)
59#define ADDR_EXTI (ADDR_APB2 + 0x3C00)
60#define ADDR_SYSCFG (ADDR_APB2 + 0x3800)
61#define ADDR_SPI4 (ADDR_APB2 + 0x3400)
62#define ADDR_SPI1 (ADDR_APB2 + 0x3000)
63#define ADDR_USART6 (ADDR_APB2 + 0x1400)
64#define ADDR_USART1 (ADDR_APB2 + 0x1000)
65
67#define ADDR_AHB1 (0x40020000U)
68#define ADDR_GPIOA (ADDR_AHB1)
69#define ADDR_GPIOB (ADDR_AHB1 + 0x0400)
70#define ADDR_GPIOC (ADDR_AHB1 + 0x0800)
71#define ADDR_GPIOD (ADDR_AHB1 + 0x0C00)
72#define ADDR_GPIOE (ADDR_AHB1 + 0x1000)
73#define ADDR_GPIOH (ADDR_AHB1 + 0x1C00)
74#define ADDR_RCC (ADDR_AHB1 + 0x3800)
75
77#define ADDR_AHB2 (0x50000000U)
78
80
87
95typedef struct {
96 uint32_t volatile GPIO_MODER;
97 uint32_t volatile GPIO_OTYPER;
98 uint32_t volatile GPIO_OSPEEDR;
99 uint32_t volatile GPIO_PUPDR;
100 uint32_t volatile GPIO_IDR;
101 uint32_t volatile GPIO_ODR;
102 uint32_t volatile GPIO_BSRR;
103 uint32_t volatile GPIO_LCKR;
104 uint32_t volatile GPIO_AFR[2];
106
116typedef struct {
117 uint32_t volatile RCC_CR;
118 uint32_t volatile RCC_PLLCFGR;
119 uint32_t volatile RCC_CFGR;
120 uint32_t volatile RCC_CIR;
121 uint32_t volatile RCC_AHB1RSTR;
122 uint32_t volatile RCC_AHB2RSTR;
123 uint32_t RESERVED0[2];
124 uint32_t volatile RCC_APB1RSTR;
125 uint32_t volatile RCC_APB2RSTR;
126 uint32_t RESERVED1[2];
127 uint32_t volatile RCC_AHB1ENR;
128 uint32_t volatile RCC_AHB2ENR;
129 uint32_t RESERVED2[2];
130 uint32_t volatile RCC_APB1ENR;
131 uint32_t volatile RCC_APB2ENR;
132 uint32_t RESERVED3[2];
133 uint32_t volatile RCC_AHB1LPENR;
134 uint32_t volatile RCC_AHB2LPENR;
135 uint32_t RESERVED4[2];
136 uint32_t volatile RCC_APB1LPENR;
137 uint32_t volatile RCC_APB2LPENR;
138 uint32_t RESERVED5[2];
139 uint32_t volatile RCC_BDCR;
140 uint32_t volatile RCC_CSR;
141 uint32_t RESERVED6[2];
142 uint32_t volatile RCC_SSCFGR;
143 uint32_t volatile RCC_PLLI2SCFGR;
144 uint32_t RESERVED7;
145 uint32_t volatile RCC_DCKCFGR;
147
151typedef struct {
152 uint32_t volatile EXTI_IMR;
153 uint32_t volatile EXTI_EMR;
154 uint32_t volatile EXTI_RTSR;
155 uint32_t volatile EXTI_FTSR;
156 uint32_t volatile EXTI_SWIER;
157 uint32_t volatile EXTI_PR;
159
166typedef struct {
167 uint32_t volatile SYSCFG_MEMRMP;
168 uint32_t volatile SYSCFG_PMC;
169 uint32_t volatile SYSCFG_EXTICR1;
170 uint32_t volatile SYSCFG_EXTICR2;
171 uint32_t volatile SYSCFG_EXTICR3;
172 uint32_t volatile SYSCFG_EXTICR4;
173 uint32_t volatile SYSCFG_CMPCR;
175
184typedef struct {
185 uint32_t volatile RTC_TR;
186 uint32_t volatile RTC_DR;
187 uint32_t volatile RTC_CR;
188 uint32_t volatile RTC_ISR;
189 uint32_t volatile RTC_PRER;
190 uint32_t volatile RTC_WUTR;
191 uint32_t volatile RTC_CALIBR;
192 uint32_t volatile RTC_ALRMAR;
193 uint32_t volatile RTC_ALRMBR;
194 uint32_t volatile RTC_WPR;
195 uint32_t volatile RTC_SSR;
196 uint32_t RESERVED0;
197 uint32_t volatile RTC_TSTR;
198 uint32_t RESERVED1;
199 uint32_t volatile RTC_TSSSR;
200 uint32_t volatile RTC_CALR;
201 uint32_t volatile RTC_TAFCR;
202 uint32_t volatile RTC_ALRMASSR;
203 uint32_t volatile RTC_ALRMBSSR;
204 uint32_t RESERVED2;
205 uint32_t volatile RTC_BKPxR[20];
207
211typedef struct {
212 uint32_t volatile PWR_CR;
213 uint32_t volatile PWR_CSR;
215
223typedef struct {
224 uint32_t volatile SPI_CR1;
225 uint32_t volatile SPI_CR2;
226 uint32_t volatile SPI_SR;
227 uint32_t volatile SPI_DR;
228 uint32_t volatile SPI_CRCPR;
229 uint32_t volatile SPI_TXCRCR;
230 uint32_t volatile SPI_RXCRCR;
231 uint32_t volatile SPI_I2SCFGR;
232 uint32_t volatile SPI_I2SPR;
234
241typedef struct {
242 uint32_t volatile I2C_CR1;
243 uint32_t volatile I2C_CR2;
244 uint32_t volatile I2C_OAR1;
245 uint32_t volatile I2C_OAR2;
246 uint32_t volatile I2C_DR;
247 uint32_t volatile I2C_SR1;
248 uint32_t volatile I2C_SR2;
249 uint32_t volatile I2C_CCR;
250 uint32_t volatile I2C_TRISE;
251 uint32_t volatile I2C_FLTR;
253
260typedef struct {
261 uint32_t volatile USART_SR;
262 uint32_t volatile USART_DR;
263 uint32_t volatile USART_BRR;
264 uint32_t volatile USART_CR1;
265 uint32_t volatile USART_CR2;
266 uint32_t volatile USART_CR3;
267 uint32_t volatile USART_GTPR;
269
271
282
286typedef enum
287{
289} APB1ENR_te;
290
294typedef enum
295{
297} PWR_CR_te;
298
302typedef enum
303{
306} RCC_CR_te;
307
320
324typedef enum
325{
328} RCC_CSR_te;
329
333typedef enum
334{
336} RTC_CR_te;
337
341typedef enum
342{
346} RTC_ISR_te;
347
361
365typedef enum
366{
374} RTC_DR_te;
375
384
405
418
434
445
466
479
500
515
519typedef enum
520{
524} I2C_CCR_te;
525
536
553
562
584
600
619
635
651
670
689
707
725
727
734#define RCC ((RCC_REGDEF_ts*)ADDR_RCC)
735#define EXTI ((EXTI_REGDEF_ts*)ADDR_EXTI)
736#define SYSCFG ((SYSCFG_REGDEF_ts*)ADDR_SYSCFG)
737#define RTC ((RTC_REGDEF_ts*)ADDR_RTC)
738#define PWR ((PWR_REGDEF_ts*)ADDR_PWR)
739#define GPIOA ((GPIO_REGDEF_ts*)ADDR_GPIOA)
740#define GPIOB ((GPIO_REGDEF_ts*)ADDR_GPIOB)
741#define GPIOC ((GPIO_REGDEF_ts*)ADDR_GPIOC)
742#define GPIOD ((GPIO_REGDEF_ts*)ADDR_GPIOD)
743#define GPIOE ((GPIO_REGDEF_ts*)ADDR_GPIOE)
744#define GPIOH ((GPIO_REGDEF_ts*)ADDR_GPIOH)
745#define I2C1 ((I2C_REGDEF_ts*)ADDR_I2C1)
746#define I2C2 ((I2C_REGDEF_ts*)ADDR_I2C2)
747#define I2C3 ((I2C_REGDEF_ts*)ADDR_I2C3)
748#define SPI1 ((SPI_REGDEF_ts*)ADDR_SPI1)
749#define SPI2 ((SPI_REGDEF_ts*)ADDR_SPI2)
750#define SPI3 ((SPI_REGDEF_ts*)ADDR_SPI3)
751#define SPI4 ((SPI_REGDEF_ts*)ADDR_SPI4)
752#define USART1 ((USART_REGDEF_ts*)ADDR_USART1)
753#define USART2 ((USART_REGDEF_ts*)ADDR_USART2)
754#define USART6 ((USART_REGDEF_ts*)ADDR_USART6)
756
763
830
862
871typedef enum {
872 PA = 0,
873 PB = 1,
874 PC = 2,
875 PD = 3,
876 PE = 4,
877 PH = 7
879
881
891#define GPIOA_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 0)
892#define GPIOB_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 1)
893#define GPIOC_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 2)
894#define GPIOD_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 3)
895#define GPIOE_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 4)
896#define GPIOH_CLK_EN() (RCC->RCC_AHB1ENR |= 0b1 << 7)
897
898#define GPIOA_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 0))
899#define GPIOB_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 1))
900#define GPIOC_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 2))
901#define GPIOD_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 3))
902#define GPIOE_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 4))
903#define GPIOH_CLK_DIS() (RCC->RCC_AHB1ENR |= ~(0b1 << 7))
905
906#endif
907
RCC_AHB1RSTR_te
RCC_AHB1RSTR register bit positions.
I2C_CCR_te
I2C_CCR register bit positions.
I2C_CR2_te
I2C_CR2 register bit positions.
I2C_CR1_te
I2C_CR1 register bit positions.
USART_SR_te
USART_SR register bit positions.
RTC_PRER_te
RTC_PRER register bit positions.
APB1ENR_te
APB1ENR register bit positions (legacy, prefer RCC_APB1ENR_te).
RCC_CSR_te
RCC_CSR register bit positions.
USART_BRR_te
USART_BRR register bit positions.
SPI_CR1_te
SPI_CR1 register bit positions.
SPI_CR2_te
SPI_CR2 register bit positions.
RTC_CR_te
RTC_CR register bit positions.
I2C_SR2_te
I2C_SR2 register bit positions.
RCC_AHB1ENR_te
RCC_AHB1ENR register bit positions.
USART_CR2_te
USART_CR2 register bit positions.
I2C_OAR1_te
I2C_OAR1 register bit positions.
RCC_BDCR_te
RCC_BDCR register bit positions.
PWR_CR_te
PWR_CR register bit positions.
USART_CR3_te
USART_CR3 register bit positions.
RCC_APB2ENR_te
RCC_APB2ENR register bit positions.
RCC_CR_te
RCC_CR register bit positions.
RCC_CFGR_te
RCC_CFGR register bit positions.
RTC_ISR_te
RTC_ISR register bit positions.
USART_CR1_te
USART_CR1 register bit positions.
RCC_APB2RSTR_te
RCC_APB2RSTR register bit positions.
RTC_TR_te
RTC_TR register bit positions (all fields BCD-encoded).
RCC_APB1ENR_te
RCC_APB1ENR register bit positions.
RCC_APB1RSTR_te
RCC_APB1RSTR register bit positions.
I2C_SR1_te
I2C_SR1 register bit positions.
RTC_DR_te
RTC_DR register bit positions (all fields BCD-encoded).
SPI_SR_te
SPI_SR register bit positions.
@ RCC_AHB1RSTR_CRCRST
@ RCC_AHB1RSTR_GPIOHRST
@ RCC_AHB1RSTR_GPIODRST
@ RCC_AHB1RSTR_GPIOBRST
@ RCC_AHB1RSTR_GPIOARST
@ RCC_AHB1RSTR_GPIOCRST
@ RCC_AHB1RSTR_GPIOERST
@ RCC_AHB1RSTR_DMA1RST
@ RCC_AHB1RSTR_DMA2RST
@ I2C_CCR_DUTY
@ I2C_CCR_CCR
@ I2C_CCR_FS
@ I2C_CR2_DMAEN
@ I2C_CR2_LAST
@ I2C_CR2_ITEVTEN
@ I2C_CR2_ITERREN
@ I2C_CR2_FREQ
@ I2C_CR2_ITBUFEN
@ I2C_CR1_ENPEC
@ I2C_CR1_PEC
@ I2C_CR1_START
@ I2C_CR1_ENGC
@ I2C_CR1_SMBTYPE
@ I2C_CR1_SMBUS
@ I2C_CR1_POS
@ I2C_CR1_ENARP
@ I2C_CR1_STOP
@ I2C_CR1_SWRST
@ I2C_CR1_ALERT
@ I2C_CR1_ACK
@ I2C_CR1_NOSTRETCH
@ I2C_CR1_PE
@ USART_SR_IDLE
@ USART_SR_ORE
@ USART_SR_CTS
@ USART_SR_FE
@ USART_SR_NF
@ USART_SR_TC
@ USART_SR_LBD
@ USART_SR_RXNE
@ USART_SR_PE
@ USART_SR_TXE
@ RTC_PRER_PREDIV_S
@ RTC_PRER_PREDIV_A
@ APB1ENR_PWREN
@ RCC_CSR_LSIRDY
@ RCC_CSR_LSION
@ USART_BRR_DIV_MANTISSA
@ USART_BRR_DIV_FRACTION
@ SPI_CR1_MSTR
@ SPI_CR1_BIDIOE
@ SPI_CR1_CRCNEXT
@ SPI_CR1_SSI
@ SPI_CR1_SSM
@ SPI_CR1_CPHA
@ SPI_CR1_RXONLY
@ SPI_CR1_CPOL
@ SPI_CR1_CRCEN
@ SPI_CR1_BIDIMODE
@ SPI_CR1_SPE
@ SPI_CR1_BR
@ SPI_CR1_LSBFIRST
@ SPI_CR1_DFF
@ SPI_CR2_ERRIE
@ SPI_CR2_RXNEIE
@ SPI_CR2_RXDMAEN
@ SPI_CR2_FRF
@ SPI_CR2_TXDMAEN
@ SPI_CR2_TXEIE
@ SPI_CR2_SSOE
@ RTC_CR_FMT
@ I2C_SR2_PEC
@ I2C_SR2_GENCALL
@ I2C_SR2_SMBHOST
@ I2C_SR2_SMBDEFAULT
@ I2C_SR2_MSL
@ I2C_SR2_BUSY
@ I2C_SR2_DUALF
@ I2C_SR2_TRA
@ RCC_AHB1ENR_GPIOAEN
@ RCC_AHB1ENR_GPIOCEN
@ RCC_AHB1ENR_GPIOHEN
@ RCC_AHB1ENR_DMA1EN
@ RCC_AHB1ENR_DMA2EN
@ RCC_AHB1ENR_GPIOBEN
@ RCC_AHB1ENR_GPIOEEN
@ RCC_AHB1ENR_CRCEN
@ RCC_AHB1ENR_GPIODEN
@ USART_CR2_LBDL
@ USART_CR2_LBDIE
@ USART_CR2_CPHA
@ USART_CR2_STOP
@ USART_CR2_CPOL
@ USART_CR2_CLKEN
@ USART_CR2_ADD
@ USART_CR2_LBCL
@ USART_CR2_LINEN
@ I2C_OAR1_ADD7_1
@ I2C_OAR1_ADD9_8
@ I2C_OAR1_ADD0
@ I2C_OAR1_ADDMODE
@ RCC_BDCR_LSEON
@ RCC_BDCR_LSERDY
@ RCC_BDCR_RTCSEL
@ RCC_BDCR_LSEBYP
@ RCC_BDCR_RTCEN
@ RCC_BDCR_BDRST
@ PWR_CR_DBP
@ USART_CR3_SCEN
@ USART_CR3_HDSEL
@ USART_CR3_DMAT
@ USART_CR3_ONEBIT
@ USART_CR3_CTSIE
@ USART_CR3_CTSE
@ USART_CR3_IREN
@ USART_CR3_NACK
@ USART_CR3_DMAR
@ USART_CR3_EIE
@ USART_CR3_IRLP
@ USART_CR3_RTSE
@ RCC_APB2ENR_TIM10EN
@ RCC_APB2ENR_USART1EN
@ RCC_APB2ENR_TIM1EN
@ RCC_APB2ENR_SYSCFGEN
@ RCC_APB2ENR_ADC1EN
@ RCC_APB2ENR_SPI1EN
@ RCC_APB2ENR_SDIOEN
@ RCC_APB2ENR_SPI4EN
@ RCC_APB2ENR_TIM11EN
@ RCC_APB2ENR_TIM9EN
@ RCC_APB2ENR_USART6EN
@ RCC_CR_HSERDY
@ RCC_CR_HSEON
@ RCC_CFGR_HPRE
@ RCC_CFGR_PPRE1
@ RCC_CFGR_SWS
@ RCC_CFGR_PPRE2
@ RTC_ISR_RSF
@ RTC_ISR_INIT
@ RTC_ISR_INITF
@ USART_CR1_PCE
@ USART_CR1_RE
@ USART_CR1_IDLEIE
@ USART_CR1_RWU
@ USART_CR1_SBK
@ USART_CR1_PEIE
@ USART_CR1_PS
@ USART_CR1_OVER8
@ USART_CR1_TXEIE
@ USART_CR1_UE
@ USART_CR1_M
@ USART_CR1_WAKE
@ USART_CR1_TCIE
@ USART_CR1_TE
@ USART_CR1_RXNEIE
@ RCC_APB2RSTR_TIM9RST
@ RCC_APB2RSTR_TIM11RST
@ RCC_APB2RSTR_TIM10RST
@ RCC_APB2RSTR_SPI4RST
@ RCC_APB2RSTR_SDIORST
@ RCC_APB2RSTR_SYSCFGRST
@ RCC_APB2RSTR_USART1RST
@ RCC_APB2RSTR_SPI1RST
@ RCC_APB2RSTR_ADC1RST
@ RCC_APB2RSTR_USART6RST
@ RCC_APB2RSTR_TIM1RST
@ RTC_TR_SU
@ RTC_TR_MNU
@ RTC_TR_HT
@ RTC_TR_ST
@ RTC_TR_HU
@ RTC_TR_MNT
@ RTC_TR_PM
@ RCC_APB1ENR_SPI3EN
@ RCC_APB1ENR_TIM5EN
@ RCC_APB1ENR_I2C3EN
@ RCC_APB1ENR_TIM4EN
@ RCC_APB1ENR_TIM3EN
@ RCC_APB1ENR_I2C1EN
@ RCC_APB1ENR_WWDGEN
@ RCC_APB1ENR_SPI2EN
@ RCC_APB1ENR_TIM2EN
@ RCC_APB1ENR_I2C2EN
@ RCC_APB1ENR_USART2EN
@ RCC_APB1ENR_PWREN
@ RCC_APB1RSTR_SPI2RST
@ RCC_APB1RSTR_PWRRST
@ RCC_APB1RSTR_I2C3RST
@ RCC_APB1RSTR_WWDGRST
@ RCC_APB1RSTR_TIM4RST
@ RCC_APB1RSTR_USART2RST
@ RCC_APB1RSTR_TIM2RST
@ RCC_APB1RSTR_I2C1RST
@ RCC_APB1RSTR_I2C2RST
@ RCC_APB1RSTR_SPI3RST
@ RCC_APB1RSTR_TIM3RST
@ RCC_APB1RSTR_TIM5RST
@ I2C_SR1_TIMEOUT
@ I2C_SR1_STOPF
@ I2C_SR1_BERR
@ I2C_SR1_RxNE
@ I2C_SR1_TxE
@ I2C_SR1_ADD10
@ I2C_SR1_SMBALERT
@ I2C_SR1_BTF
@ I2C_SR1_PECERR
@ I2C_SR1_SB
@ I2C_SR1_OVR
@ I2C_SR1_ARLO
@ I2C_SR1_ADDR
@ I2C_SR1_AF
@ RTC_DR_MT
@ RTC_DR_MU
@ RTC_DR_WDU
@ RTC_DR_YU
@ RTC_DR_DT
@ RTC_DR_DU
@ RTC_DR_YT
@ SPI_SR_OVR
@ SPI_SR_CHSIDE
@ SPI_SR_CRCERR
@ SPI_SR_TXE
@ SPI_SR_BSY
@ SPI_SR_FRE
@ SPI_SR_RXNE
@ SPI_SR_MODF
@ SPI_SR_UDR
PORT_CODES_ts
SYSCFG port codes for EXTICRx routing.
EXTI_LINES_te
EXTI line numbers.
IRQn_te
IRQ numbers in the STM32F401RE Cortex-M4 vector table.
@ PH
@ PE
@ PB
@ PC
@ PA
@ PD
@ EXTI_LINE_9
@ EXTI_LINE_7
@ EXTI_LINE_2
@ EXTI_LINE_10
@ EXTI_LINE_4
@ EXTI_LINE_5
@ EXTI_LINE_16
@ EXTI_LINE_14
@ EXTI_LINE_18
@ EXTI_LINE_22
@ EXTI_LINE_0
@ EXTI_LINE_13
@ EXTI_LINE_12
@ EXTI_LINE_17
@ EXTI_LINE_11
@ EXTI_LINE_6
@ EXTI_LINE_3
@ EXTI_LINE_1
@ EXTI_LINE_21
@ EXTI_LINE_8
@ EXTI_LINE_15
@ EXTI2_IRQn
@ DMA1_Stream2_IRQn
@ SDIO_IRQn
@ DMA2_Stream0_IRQn
@ DMA2_Stream6_IRQn
@ EXTI16_IRQn
@ I2C1_ER_IRQn
@ I2C2_EV_IRQn
@ TIM4_IRQn
@ TIM2_IRQn
@ DMA2_Stream7_IRQn
@ EXTI22_IRQn
@ USART2_IRQn
@ DMA2_Stream3_IRQn
@ ADC_IRQn
@ SPI3_IRQn
@ SPI2_IRQn
@ RCC_IRQn
@ I2C2_ER_IRQn
@ I2C3_ER_IRQn
@ EXTI17_IRQn
@ I2C3_EV_IRQn
@ EXTI18_IRQn
@ FLASH_IRQn
@ DMA2_Stream5_IRQn
@ WWDG_IRQn
@ I2C1_EV_IRQn
@ TIM3_IRQn
@ DMA2_Stream1_IRQn
@ DMA1_Stream0_IRQn
@ EXTI15_10_IRQn
@ SPI4_IRQn
@ TIM1_UP_TIM10_IRQn
@ EXTI9_5_IRQn
@ DMA1_Stream1_IRQn
@ OTG_FS_IRQn
@ FPU_IRQn
@ EXTI21_IRQn
@ USART6_IRQn
@ SPI1_IRQn
@ TIM1_TRG_COM_TIM11_IRQn
@ TIM1_BRK_TIM9_IRQn
@ EXTI0_IRQn
@ EXTI4_IRQn
@ DMA2_Stream2_IRQn
@ DMA1_Stream5_IRQn
@ USART1_IRQn
@ EXTI3_IRQn
@ EXTI1_IRQn
@ DMA2_Stream4_IRQn
@ TIM5_IRQn
@ DMA1_Stream7_IRQn
@ DMA1_Stream4_IRQn
@ DMA1_Stream6_IRQn
@ TIM1_CC_IRQn
@ DMA1_Stream3_IRQn
EXTI (External Interrupt/Event Controller) peripheral register map.
uint32_t volatile EXTI_RTSR
uint32_t volatile EXTI_SWIER
uint32_t volatile EXTI_EMR
uint32_t volatile EXTI_FTSR
uint32_t volatile EXTI_PR
uint32_t volatile EXTI_IMR
GPIO peripheral register map.
Definition stm32f401re.h:95
uint32_t volatile GPIO_IDR
uint32_t volatile GPIO_BSRR
uint32_t volatile GPIO_LCKR
uint32_t volatile GPIO_ODR
uint32_t volatile GPIO_PUPDR
Definition stm32f401re.h:99
uint32_t volatile GPIO_OTYPER
Definition stm32f401re.h:97
uint32_t volatile GPIO_AFR[2]
uint32_t volatile GPIO_MODER
Definition stm32f401re.h:96
uint32_t volatile GPIO_OSPEEDR
Definition stm32f401re.h:98
I2C peripheral register map.
uint32_t volatile I2C_OAR1
uint32_t volatile I2C_SR1
uint32_t volatile I2C_CCR
uint32_t volatile I2C_CR2
uint32_t volatile I2C_SR2
uint32_t volatile I2C_TRISE
uint32_t volatile I2C_FLTR
uint32_t volatile I2C_CR1
uint32_t volatile I2C_OAR2
uint32_t volatile I2C_DR
PWR (Power Control) peripheral register map.
uint32_t volatile PWR_CR
uint32_t volatile PWR_CSR
RCC (Reset and Clock Control) peripheral register map.
uint32_t volatile RCC_AHB2RSTR
uint32_t volatile RCC_AHB2LPENR
uint32_t volatile RCC_BDCR
uint32_t volatile RCC_CFGR
uint32_t volatile RCC_DCKCFGR
uint32_t volatile RCC_APB2LPENR
uint32_t volatile RCC_CR
uint32_t volatile RCC_CSR
uint32_t volatile RCC_APB1LPENR
uint32_t volatile RCC_APB1RSTR
uint32_t volatile RCC_PLLCFGR
uint32_t volatile RCC_AHB1ENR
uint32_t volatile RCC_AHB1RSTR
uint32_t volatile RCC_APB1ENR
uint32_t volatile RCC_APB2ENR
uint32_t volatile RCC_AHB2ENR
uint32_t volatile RCC_CIR
uint32_t volatile RCC_AHB1LPENR
uint32_t volatile RCC_APB2RSTR
uint32_t volatile RCC_PLLI2SCFGR
uint32_t volatile RCC_SSCFGR
RTC peripheral register map.
uint32_t volatile RTC_ALRMASSR
uint32_t volatile RTC_DR
uint32_t volatile RTC_ALRMBSSR
uint32_t volatile RTC_TAFCR
uint32_t volatile RTC_TSTR
uint32_t volatile RTC_WPR
uint32_t volatile RTC_BKPxR[20]
uint32_t volatile RTC_ALRMAR
uint32_t volatile RTC_ALRMBR
uint32_t volatile RTC_SSR
uint32_t volatile RTC_WUTR
uint32_t volatile RTC_CALIBR
uint32_t volatile RTC_ISR
uint32_t volatile RTC_CR
uint32_t volatile RTC_PRER
uint32_t volatile RTC_TSSSR
uint32_t volatile RTC_CALR
uint32_t volatile RTC_TR
SPI peripheral register map.
uint32_t volatile SPI_CRCPR
uint32_t volatile SPI_I2SPR
uint32_t volatile SPI_I2SCFGR
uint32_t volatile SPI_RXCRCR
uint32_t volatile SPI_CR2
uint32_t volatile SPI_DR
uint32_t volatile SPI_SR
uint32_t volatile SPI_TXCRCR
uint32_t volatile SPI_CR1
SYSCFG (System Configuration Controller) peripheral register map.
uint32_t volatile SYSCFG_EXTICR3
uint32_t volatile SYSCFG_CMPCR
uint32_t volatile SYSCFG_EXTICR1
uint32_t volatile SYSCFG_PMC
uint32_t volatile SYSCFG_MEMRMP
uint32_t volatile SYSCFG_EXTICR2
uint32_t volatile SYSCFG_EXTICR4
USART peripheral register map.
uint32_t volatile USART_GTPR
uint32_t volatile USART_BRR
uint32_t volatile USART_DR
uint32_t volatile USART_CR3
uint32_t volatile USART_CR1
uint32_t volatile USART_SR
uint32_t volatile USART_CR2