STM32 GPIO的初始化过程通常包括以下几个步骤: 引入必要的STM32库文件: 在STM32的开发中,通常需要引入STM32的标准外设库或者HAL库来进行硬件的初始化和配置。以下是一个示例,展示如何引入STM32F10x的标准外设库: c #include "stm32f10x.h" 定义GPIO初始化结构体并设置相关参数: 在STM32中,GPIO的配置通常通过...
voidHAL_GPIO_WritePin(GPIO_TypeDef *GPIOx,uint16_tGPIO_Pin, GPIO_PinState PinState){/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState != GPIO_PIN_RESET){GPIOx-...
讲解stm32接口源代码GPIO_InitTypeDefGPIO_InitStructure;// 使能时钟,这个是必要的,后续补上时钟树的概念RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);// 这个就是GPIO的电气属性配置,因为目前没有使用复用功能GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;// 输出模式GPIO_InitStructure.GPIO_Mode=GPIO_Mode_...
// 初始化复用开漏输出模式的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)...
6:GPIO_Mode_Out_PP:推挽输出 7:GPIO_Mode_AF_OD:复用开漏输出 8:GPIO_Mode_AF_PP:复用推挽输出 四、GPIO常用库函数 五、GPIO编程套路 一、配置GPIO口 • 1. 使能管脚对应的GPIO组时钟 RCC_APB2PeriphClockCmd( GPIOx, ENABLE); • 2. 定义一个初始化结构体型的变量 ...
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); ②GPIO结构体初始化函数 void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); ③设置一组IO口为高电平 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ...
GPIO_InitTypeDef GPIO_InitStruct; //GPIOC位于APB2总线上,所以使用APB2外设时钟命令 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //初始化引脚为PIN_13 GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13; //只是普通电灯的话GPIO的速度随意 GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz; ...
STM32有好几个串口。比如说STM32F103ZET6有5个串口,串口1的引脚对应的IO为PA9,PA10.PA9,PA10默认功能是GPIO,所以当PA9,PA10引脚作为串口1的TX,RX引脚使用的时候,那就是端口复用。复用端口初始化有几个步骤:1...