//GPIOA基地址=APB2基地址+偏移量 #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800) //GPIOA将地址顺序分配给7个32位寄存器(结构体分配) #define GPIOA ((GPIO_TypeDef*)GPIOA_BASE) /将寄存器地址映射到7个32位寄存器,分别控制typedef struct{ IO unit32_t CRL; IO unit32_t CRH; IO unit32_t OD...
GPIOA_BASE是寄存器的基地址 和GPIOA有关的寄存器有很多,比如ODR、IDR。加12是计算出ODR的偏移。也就是GPIOA_ODR寄存器的地址
GPIOA是一个结构体指针,他指向一个地址为GPIOA_BASE的结构体GPIO_TypeDef。其中GPIOA_BASE就是控制这组IO口的寄存器组的基地址,GPIO_TypeDef是一个结构体,里面的成员变量对应着A组IO的相关控制寄存器,如:GPIOA->ODR;GPIOA->IDR;GPIOA->CRL;GPIOA->CRH等等就是控制A组IO口的寄存器,操作GPIO...
//以上内容省略 #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) #define GPIOC ((GPIO_TypeDef *) GPIOC_BASE) #define GPIOD ((GPIO_TypeDef *) GPIOD_BASE) #define GPIOE ((GPIO_TypeDef *) GPIOE_BASE) #define GPIOF ((GPIO_TypeDef *) GPIO...
#defineGPIOA ((GPIO_TypeDef *) GPIOA_BASE) 这里将 GPIOA 宏定义为 GPIOA 基地址经过强制类型转换为 GPIO_TypeDef 的指针,这样的作用是使 GPIOA 结构体内对应的成员按顺序填充内存区域,如图3所示。因此 GPIOA 的 CRL 寄存器就是作为 GPIOA 基地址后的第一个内存块,GPIOA->CRL 的本质就是这个内存块的...
GPIOx->BSRR = GPIO_Pin; } /** * @brief Clears the selected data port bits. * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. * @param GPIO_Pin: specifies the port bits to be written. * This parameter can be any combination of GPIO_Pin_x where x can be...
1.首先定义要用到的外设的基地址(RCC和GPIO),以及两个数据类型 //两个常用数据类型#defineuint32_t unsigned int#defineuint16_t unsigned short//RCC基地址#defineRCC_BASE 0x40021000//GPIO相关总线的基地址#defineAHB_BASE 0x40018000#defineAPB2_BASE 0x40010000//GPIO的基地址#defineGPIOA_BASE ( APB2_...
01. GPIO固件库概述 stm32f4xx_gpio.h GPIO相关函数和类型的声明 stm32f4xx_gpio.c GPIO相关函数具体实现。 02. GPIO相关类型 GPIO相关的类型几乎都在stm32f4xx_gpio.h文件中。 GPIO的模式 /** * @brief GPIO Configuration Mode enumeration ...
GPIOA中ODR的地址为 GPIOA的基地址+ODR的偏移地址=GPIOA_BASE+0x0C 例如PAout输出是操作ODR寄存器,PAout(1)就是经过一系列计算算出这一位映射的地址,对这个地址进行操作 PAin输入就是操作IDR寄存器。 六。实例操作 跑马灯实验 程序编写步骤: LED0接PB5,LED1接PE5 ...
为了便于对寄存器进行位操作,在头文件stm32f10x.h(以F103ZET6标准库为例,HAL库中对应的头文件为stm32f103xe.h)中定义了大量的宏、枚举类和结构体,来实现与寄存器地址的映射。以GPIOA为例,从上到下的映射关系为: #definePERIPH_BASE((uint32_t)0x40000000)/* 外设总线地址 */#defineAPB2PERIPH_BASE(PERIPH_...