MM32的GPIO库函数: 1、void GPIO_DeInit(GPIO_TypeDef* GPIOx); 函数解释:将外设 GPIOx 寄存器重设为缺省值,该函数的作用是把GPIO相关的寄存器配置成上电复位后的默认状态,在第一次初始化前或者不再使用某一个接口后可以调用该函数。 函数参数说明:GPIOx:GPIO的分组,如GPIOA 、GPIOB等的宏定义。 2、void GPIO_AFIODeInit(void); 函数解释:将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值。 3、void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 函数解释:GPIO的初始化函数,该函数的作用是对IO进行初始化。 函数参数说明: (1)GPIOx:GPIO的分组,如GPIOA 、GPIOB等的宏定义。 (2)GPIO_InitStruct:GPIO的初始化相关结构体。该结构体里面的成员变量决定了我们具体的初始化参数。以下进行说明: l GPIO_Pin:指定具体的IO脚,如GPIO_Pin_0 GPIO_Pin_1这样的宏定义,这些宏由厂家写好,我们直接使用即可。 l GPIO_Mode:指定GPIO的模式。
4、void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); 函数解释:把 GPIO_InitStruct 中的每一个参数按缺省值填入,GPIO结构体的初始化。对GPIO_InitStruct结构体进行默认配置 函数参数说明:GPIO_InitStruct,直接传入该结构体的指针,在该函数内会对结构体进行初始化。
5、uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 函数解释:读取指定端口管脚输入。 函数参数说明:GPIOx:GPIO的分组(如GPIOA,GPIOB等)。GPIO_Pin:具体的gpio管脚(如GPIO_Pin_0 、GPIO_Pin_1这样的宏定义) 6、uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); 函数解释:读取指定的GPIO端口输入。 函数参数说明:GPIOx:gpio的分组/gpio端口;GPIO_Pin:具体的gpio管脚 函数返回值说明:输入管脚的值Bit_SET(高电平) Bit_RESET(低电平) 7、uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 函数解释:读取指定端口管脚输出。 函数参数说明:GPIOx:GPIO的分组/ GPIO端口;GPIO_Pin:具体的gpio管脚 函数返回值说明:输出管脚的值Bit_SET(高电平) Bit_RESET(低电平) 8、uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); 函数解释:读取输出IO分组/端口的值 函数参数说明:GPIOx:GPIO的分组/ GPIO端口 函数返回值说明:一个io端口的所有数据 (输出状态) 9、void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 函数解释:对IO管脚进行置位(输出高电平)。这个函数使用GPIOx_BSRR寄存器来实现原子读或者修改操作。在这种情况下,在读和修改访问时发生一个IRQ中断是没有危险的。 函数参数说明:GPIOx:GPIO的分组/ GPIO端口;GPIO_Pin:具体的gpio管脚或者是io管脚的组合 10、void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 函数解释:清除指定的数据端口位,对IO管脚进行复位(输出低电平)。这个函数使用GPIOx_BSRR寄存器来实现读或者修改操作。在这种情况下,在读和修改访问时发生一个IRQ中断是没有危险的。 函数参数说明:GPIOx:GPIO的分组/ GPIO端口;GPIO_Pin:具体的GPIO管脚或者是IO管脚的组合 11、void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); 函数解释:对某一位进行写入操作。 函数参数说明:GPIOx:GPIO的分组/ GPIO端口;GPIO_Pin:具体的GPIO管脚;BitVal:写入高电平或者低电平(Bit_RESET:写入低电平 Bit_SET:写入高电平 12、void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 函数解释:对GPIO端口进行写入操作,适用于对统一端口的多个管脚的写入 函数参数说明:GPIOx:GPIO的分组/ GPIO端口; BitVal:写入高电平或者低电平(Bit_RESET:写入低电平 Bit_SET:写入高电平) 13、void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 函数解释:锁定GPIO的寄存器,锁定的寄存器是GPIOx_MODER,GPIOx_OTYPER, GPIOx_OSPEEDR,GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH。在下一次复位前,被锁定的管脚不能被修改。 函数参数说明:GPIOx:GPIO的分组(如GPIOA,GPIOB等)。GPIO_Pin:具体的gpio管脚(如GPIO_Pin_0 、GPIO_Pin_1这样的宏定义)。 14、void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF); 函数解释:改变指定管脚的映射关系,即配置指定管脚的复用功能。 函数参数说明:GPIOx:GPIO的分组/ GPIO端口;GPIO_PinSource:具体要配置成复用功能的管脚(如GPIO_Pin_0 GPIO_Pin_1这样的宏定义);GPIO_AF:选择该管脚要使用的复用功能。
|