GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x; GPIO_Pin_x可为:GPIO_Pin_None 无引脚被选中 GPIO_Pin_0 选中引脚0 GPIO_Pin_1 选中引脚1 GPIO_Pin_2 选中引脚2 GPIO_Pin_3 选中引脚3 GPIO_Pin_4 选中引脚4 GPIO_Pin_5 选中引脚5 GPIO_Pin_6 选中引脚6 GPIO_Pin_7 选中引脚7 GPIO_Pin_8 选中引脚...
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); ④设置一组IO口为低电平 void GPIO_ResetBits(GPIO_Typ...
GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); 写入GPIOA、GPIOB等 GPIO端口号(Pin脚) Bit_RESET/Bit_SET//通过改变枚举变量BitVal的值设置端口高低电平//Bit_RESET(低电平)/Bit_SET(高电平)void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 写入GPIOA、GPIOB等...
标准库(STD库)中,与GPIO相关的库函数及相关参数在头文件stm32f10x_gpio.h中声明,在stm32f10x_gpio.c中实现。头文件中GPIO各Pin定义如下: #defineGPIO_Pin_0 ((uint16_t)0x0001) //0b0000000000000001#defineGPIO_Pin_1 ((uint16_t)0x0002) //0b0000000000000010#defineGPIO_Pin_2 ((uint16_t)0x0004...
1.使用RCC开启GPIO的时钟 2.使用GPIO_Init函数初始化GPIO 3.使用输入/输出控制GPIO口 RCC 在library 组中的 stm32f10x_rcc.h中找: (第一个参数是选择哪个外设,第二个参数是EABLE 或者DISABLE) void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); ...
4个设置输出电平函数: void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); ...
2.3.3 函数 GPIO_Write 向指定GPIO数据端口写入数据,输入参数GPIOx和PortVal待写入的数值。 我这里的开发板LED共阳接法,控制时把要点亮的位设置为低,其余设置高。如点亮L1: GPIO_Write(GPIOC,0xFE); 1. 2.3.4 GPIO_SetBits 设置指定的数据端口位,示例: ...
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); ...
ODR寄存器只用到了前面的16位。作用是控制GPIOx(x=A ~ G)的输出,即设置某个IO口输出低电平还是高电平,只有在输出模式下有效。 在固件库中设置ODR寄存器来控制IO口的输出状态是通过这两个函数来实现的:voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal);//读取一组、voidGPIO_Write(GPI...
下面我们来看一看他们各自是如何好、实现的因为HAL_GPIO_Write已经介绍过了所以我们从另一个常用函数开始介绍——HAL_GPIO_ReadPin(); GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin){GPIO_PinState bitstatus;/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));if((GP...