配置相关函数
1.void GPIO_Init(GPIO_TypeDef*GPIIOx,GPIO_InitTypeDef*GPIO_InitStruct)
函数解释:GPIO的初始化函数,该函数的作用是对io进行初始化。
参数:
(1)GPIOx,GPIO的分组,如GPIOA,GPIOB,GPIOC等宏定义
(2)GPIO_InitStruct,GPIO的初始化相关结构体,该结构体里的成员变量决定了我们具体的初始化参数,
GPIO_Pin:指定具体的IO脚,如GPIO_Pin_0这样的宏定义
GPOI_Mode:指定GPIO的模式,有八种模式:
GPIO_Mode_AIN
GPIO_Mode_IN_FLOATING
GPIO_Mode_IPD
GPIO_Mode_IPU
GPIO_Mode_Out_OD
GPIO_Mode_Out_PP
GPIO_Mode_AF_OD
GPIO_Mode_AF_PP
GPIO_Speed:指定io最快翻转速度,也就是当使用io产生频率的最大速度,有四种模式:
GPIO_Spdeed_10MHz
GPIO的读写函数
1.unit8_GPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)
函数解释:读取io输入管脚的值
参数:(1)GPIOx,GPIO的分组,如GPIOA等宏定义
(2)GPIO_Pin:具体的io脚,如GPIO_Pin_0等宏定义
返回值:输入管脚的值Bit_SET高电平 ,Bit_RESET低电平
2.unit16_t GPIO_ReadInputData(GPIO_TypeDef*GPIOx)
函数解释:读取输入IO数据,该函数用于读取一个io分组的所有数据
参数:GPIOA等宏定义
返回值:一个io端口的所有数据
3.unit8_t GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin)
函数解释:读取io输出管脚的值
参数
(1)GPIOx:GPIOA等宏定义
(2)GPIO_Pin:指定具体io脚,如GPIO_Pin_0等宏定义
返回值:输出管脚的值Bit_SET(高电平),Bit_RESET(低电平)
4.unit_t GPIOReadOutputData(GPIO_TypeDef*GPIOx)
函数解释:读取输出io数据,该函数用于读取一个io分组的所有数据
参数:GPIOX,GPIO分组,如GPIOA等宏定义
返回值:一个io端口的所有数据(输出状态)
5.void GPIO_SetBits(GPIO_TypeDef*GPIOx,unit16_t GPIO_Pin)
函数解释:对io管脚进行置位(输出高电平)这个函数使用GPIOx_BSRR寄存器来实现原子读或者修改操作,在这种情况下,在读和修改访问时发生一个IRQ中断是没有危险的
参数:(1)GPIOx,GPIOA等宏定义
(2)GPIO_Pin_0宏定义
6.void GPIO_ResetBit(GPIO_TypeDef*GPIOx, unit16_t GPIO_Pin)
函数解释:对io管脚进行复位(输出低电平)
这个函数使用GPIOx_BSRR寄存器来实现原子读或者修改操作。在这种情况下,在读和修改访问时发生一个IRQ中断是没有危险的。
参数:(1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。
(2)GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。
7. void GPIO_WriteBit(GPIO_TypeDef*GPIOx, unit16_t GPIO_Pin ,BitActionBitVal)
函数解释:对某一位进行写入操作。
参数:
(1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。
(2)GPIO_Pin,写入高电平或者低电平(Bit_RESET:写入低电平 Bit_SET:写入高电平)
(3)BitVal:写入高电平或者低电平(Bit_RESET低电平,Bit_SET高电平)
9.void GPIO_ToggleBit(GPIO_TypedDef*GPIOx, unit16_t GPIO_Pin)
函数解释:翻转指定的GPIO口,如果当前io口是高电平则变为低电平,反之相反
参数
(1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。
(2)GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。