GPIOx :一个指向 GPIO_TypeDef 类型结构体的指针,表示要被初始化的GPIO端口(如GPIOA、GPIOB等)。 GPIO_InitStruct:一个指向 GPIO_InitTypeDef类型结构体的指针,表示要应用于指定GPIO端口的配置信息。该结构体成员变量有GPIO引脚号,GPIO速度结构体,GPIO模式结构体。 在使用GPIO_Init函数时,我们需要先定义一个GPIO_...
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 功能描述: 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 输入参数1: GPIOx:x可以是A,B,C,D或者E,选择GPIO外设 输入参数2: GPIO_InitStruct:指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息 主函数开头我们进行了这样...
GPIOx->BSRR=GPIO_Pin; 我们看见了这个句子 仔细观察,不难发现,GPIOx是一个结构体指针,它的类型是GPIO_TypeDef, typedefstruct{__IOuint32_tCRL;__IOuint32_tCRH;__IOuint32_tIDR;__IOuint32_tODR;__IOuint32_tBSRR;__IOuint32_tBRR;__IOuint32_tLCKR;}GPIO_TypeDef; 那么为什么要定义这么一个结...
voidGPIO_WriteBit(GPIO_TypeDef* GPIOx,uint16_tGPIO_Pin, BitAction BitVal); GPIOx:GPIO 寄存器组,例如 GPIOA、GPIOB 等。 GPIO_Pin:要操作的 GPIO 引脚编号,可以使用宏定义 GPIO_Pin_x(x 表示引脚编号)来指定某个具体的引脚。 BitVal:要设置的 GPIO 引脚的输出值,可以是 Bit_SET 或 Bit_RESET。 使...
GPIOx_CRL和GPIOx_CRH:这两组端口配置寄存器用于设置引脚的配置模式,包括输入、输出、上拉、下拉等。GPIOx_IDR和GPIOx_ODR:输入数据寄存器和输出数据寄存器分别用于读取和设置引脚的电平状态。GPIOx_BRR和GPIOx_BSRR:位清除和位设置/清除寄存器提供了对引脚电平的快速操作能力。GPIOx_LCKR:配置锁定寄存器用于保护...
函数参数:GPIOx: 是GPIO_TypeDef * 类型,是GPIO寄存器类型,参数可选范围是GPIOA~GPIOG; 函数参数:GPIO_Pin:是unit16_t类型,是GPIO寄存器的位端口;连接外设LED灯;参数可选范围是GPIO_PIN_0~GPIO_PIN_15; 函数参数:PinState,指定要写入选定位的值;参数可选范围是,GPIO_PIN_RESET,GPIO_PIN_SET两个值; ...
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); /*第一个参数是用来指定 GPIO,取值范围为 GPIOA~GPIOG。 *第二个参数为初始化参数结构体指针,结构体类型为 GPIO_InitTypeDef */ 初始化 GPIO 的常用格式是: GPIO_InitTypeDef GPIO_InitStructure; ...
先看参数的类型GPIO_TypeDef* (GPIO_InitTypeDef之前已经有讲解) :GPIO_TypeDef :typedef struct{ vu32 CRL; vu32 CRH; vu32 IDR; vu32 ODR; vu32 BSRR; vu32 BRR; vu32 LCKR;} GPIO_TypeDef; 这里有几个寄存器需要简单讲解的:CRL是低位配置寄存器,是用来存储低位数据(低8位)的配置情况。CRH是高位寄存器...
1、1. 使能GPIO的AHB时钟,使用函数:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);2.配置GPIO工作模式用GPIO_Init()函数数据类型说明typedef structuint32_t GPIO_Pin;GPIOMode_TypeDef GPIO_Mode;(备用) ,GPIO_Mode_AN(模拟)/ 引脚配置 /GPIO_Mode_IN(输入 ),GPIO_Mode_OUT(输出),GPIO_Mode_...