第一步,使用RCC开启GPIO的时钟 第二步,使用GPIO_Init函数初始化GPIO 第三步,使用输出或者输入的函数控制GPIO口 这里总共涉及了RCC和GPIO两个外设,首先需了解这两个外设有哪些库函数,Library中可以找到rcc.h这个文件和gpio.h文件,进去后就能找到相应的库函数(Library就是放置官方库函数的文件夹) MDK中文件 RCC库函...
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); GPIO_InitStruct:结构体的指针参数,用于对该结构体进行初始化。在调用该函数之前,必须先定义并分配内存空间给GPIO_InitTypeDef 结构体变量。该结构体是用于配置 GPIO端口的一种数据类型,包含了各种控制引脚模式、输入/输出方向、输出速度和上拉/下拉等属性的...
// 调用 GPIO_Init 函数,将 GPIOB 第 5 个引脚的配置设置为 GPIO_InitStruct 中的值 GPIO_Init(GPIOB, &GPIO_InitStruct);注意:在调用该函数之前,需要先使能所需的 GPIO 端口时钟。 在配置完 GPIO 引脚后,可以调用其他函数(如GPIO_SetBits()、GPIO_ResetBits()和GPIO_WriteBit())来设置或重置 GPIO 引脚...
GPIO_InitStruct.Pin = GPIO_PIN_0;// GPIO引脚号GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;// 推挽输出模式GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;// GPIO速度设置为高速HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);// 初始化GPIOA 开漏输出(Open-Drain Output):开漏输出模式是一种能够输出低电...
GPIOTogglePin功能 gpioinit,以STM32F103为例,记录一下自己对STM32中GPIO初始化的理解: 1voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器输入参数1:GPIOx输入参数2:GPIO_In
每个GPIO端口都有两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) ,两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),一个32位置位/ 复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR),一个32位锁定寄存器(GPIOx_LCKR)。每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节...
GPIO_InitStruct.Mode = GPIO_Mode_IN; // 输入模式GPIO_InitStruct.Mode = GPIO_Mode_OUT; // 输出模式GPIO_InitStruct.Mode = GPIO_Mode_AF; // 复用模式 如果是输出模式,还需要选择引脚的类型,通常有推挽输出和开漏输出两种类型。GPIO_InitStruct.Mode = GPIO_Mode_OUT; // 输出模式GPIO_InitStruct....
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); ③设置一组IO口为高电平 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
1 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 输⼊参数1:GPIOx //GPIOx:x 可以是 A,B,C,D 或者 E,来选择 GPIO 外设 输⼊参数2:GPIO_InitStruct //GPIO_InitStruct:指向结构 GPIO_Init...