1、GPIOx_CRL(引脚0~7)这个寄存器是配置整个端口的,而不是对应的pin脚 2、GPIOx_CRH(引脚15~8)这个寄存器是配置整个端口的,而不是对应的pin脚 3、GPIOx_BSRR 配置端口里面对应的(0~15)的引脚 ②、复用设置 可以将普通GPIO配置为SPI或者i2c等功能总线,后续在讲,配置复用重映射和调试I/O配置寄存器(AFIO_MAP...
首先,将 LED4_Pin 赋值给 GPIO_InitStruct.Pin,然后将模式设置为输出模式(GPIO_MODE_OUTPUT_PP),无上下拉(GPIO_NOPULL),低速(GPIO_SPEED_FREQ_LOW)。最后,通过调用 HAL_GPIO_Init 函数,将配置应用到 LED4_GPIO_Port 上。 总结一下,以上代码的主要功...
// 初始化复用开漏输出模式的GPIOGPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;// 复用开漏输出模式GPIO_InitStruct.Pull = GPIO_NOPULL;// 不设置上拉或下拉GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;// GPIO速度设置为高速HAL_GPIO_Init(GPIOA, &GPIO_InitStruct)...
7:GPIO_Mode_AF_OD:复用开漏输出 8:GPIO_Mode_AF_PP:复用推挽输出 四、GPIO常用库函数 五、GPIO编程套路 一、配置GPIO口 • 1. 使能管脚对应的GPIO组时钟 RCC_APB2PeriphClockCmd( GPIOx, ENABLE); • 2. 定义一个初始化结构体型的变量 GPIO_InitTypeDef GPIO_InitStructure; • 3. 对结构体变量的...
1) 串口时钟使能,GPIO时钟使能 2) 串口复位 3) GPIO端口模式设置 4) 串口参数初始化 5) 开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤) 6) 使能串口 7) 编写中断处理函数 端口重映射:(暂略) 中断量控制: STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。而我们...
typedef struct{uint16_t GPIO_Pin; // 用于选择待初始化的IO口引脚。GPIOSpeed_TypeDef GPIO_Speed; // 设置IO口的输出速度。GPIOMode_TypeDef GPIO_Mode; // 设置IO口的工作模式,提供8种选择。} GPIO_InitTypeDef;其中,GPIO_Pin参数可以设置为无引脚被选中(GPIO_Pin_None)、选中特定引脚(如GPIO_Pin_n...
调用gpio初始化函数void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 完成上述后即可调用函数修改引脚电平,如将PC13设置为高电平: GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET); 完整代码 #include "stm32f10x.h" int main() ...
最后,再调用外设初始化函数,把配置好的结构体写到相应的寄存器中 GPIO_Init(GPIOA,&GPIO_InitStruct);//void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)/**作用:将结构体成员写入寄存器当中*1st参数:GPIO端口,即GPIOx (x=A ...G)*2st参数:结构体的指针*/ ...
GPIO_InitStruct:结构体的指针参数,用于对该结构体进行初始化。在调用该函数之前,必须先定义并分配内存空间给GPIO_InitTypeDef 结构体变量。该结构体是用于配置 GPIO端口的一种数据类型,包含了各种控制引脚模式、输入/输出方向、输出速度和上拉/下拉等属性的成员变量。 默认值包括: 引脚GPIO_Pin:0 速度GPIO_Speed: ...