| /********************************************************************************************** * 名称:STM32 GPIO库函数介绍及其使用 * 时间:2012/11/22 * 作者:1318857332 ***********************************************************************************************/ /********************************************************************************************** GPIO_DeInit(GPIO_TypeDef* GPIOx); 功能:将外设GPIOx 寄存器重设为缺省值 参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设 例子:GPIO_DeInit(GPIOA); ***********************************************************************************************/ /********************************************************************************************** GPIO_AFIODeInit(void); 功能:将复用功能(重映射事件控制和EXti设置)重设为缺省值 参数:无 例子:GPIO_AFIODeInit(); ***********************************************************************************************/ /********************************************************************************************** GPIO_Init(GPIO_TypeDef* GPIOx,GPIO_InitTypeDef* GPIO_InitStruct); 功能:根据GPIO_InitStruct 中指定的参数初始化外设 GPIOx 寄存器 参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,包含了外设GPIO的配置信息 例子:GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); //Configure all the GPIOA in Input Floating mode ***********************************************************************************************/ /********************************************************************************************** GPIO_StructInit(GPIO_Ini tTypeDef* GPIO_InitStruct); 功能:把GPIO_InitStruct 中的每一个参数按缺省值填入 参数:GPIO_InitStruct:指向结构 GPIO_InitTypeDef 的指针,待初始化 例子:GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit(&GPIO_InitStructure); //Initialize the GPIO Init Structure parameters ***********************************************************************************************/ /********************************************************************************************** GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx,u16 GPIO_Pin); 功能:读取指定端口管脚的输入 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待读取的端口位 返回值: 输入端口管脚值 例子:ReadValue=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);//Reads the seventh pin of the GPIOB and store it in ReadValue variable ***********************************************************************************************/ /********************************************************************************************** GPIO_ReadInputData(GPIO_TypeDef* GPIOx); 功能:读取指定的GPIO端口输入 参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设 返回值: GPIO输入数据端口值 例子:u16 ReadValue; ReadValue=GPIO_ReadInputData(GPIOA);//Read the GPIOC input data port and store it in ReadValue variable ***********************************************************************************************/ /********************************************************************************************** GPIO_ReadOutputDataBit(); 功能:读取指定端口管脚的输出 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待读取的端口位 返回值:输出端口管脚值 例子:u8 ReadValue; ReadValue=GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_0);//Reads the seventh pin of the GPIOB and store it in ReadValue variable ***********************************************************************************************/ /********************************************************************************************** GPIO_ReadOutput(GPIO_TypeDef* GPIOx); 功能:读取指定的GPIO端口输出 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 返回值:GPIO输出数据端口值 例子:u16 ReadValue; ReadValue=GPIO_ReadOutputData(GPIOC);//Read the GPIOC output data port and store it in ReadValue variable ***********************************************************************************************/ /********************************************************************************************** GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); 功能:设置指定的数据端口位 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待设置的端口位 例子:GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//Set the GPIOA port pin 10 and pin 15 ***********************************************************************************************/ /********************************************************************************************** GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); 功能:清除指定的数据端口位 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待清除的端口位 例子:GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//Clears the GPIOA port pin 10 and pin 15 ************************************************************************************************/ /*********************************************************************************************** GPIO_WriteBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin, BitAction BitVal); 功能:设置或者清除指定的数据端口位 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待设置或者清除指的端口位 BitVal: 该参数指定了待写入的值 该参数必须取枚举BitAction 的其中一个值 Bit_RESET: 清除数据端口位 Bit_SET: 设置数据端口位 例子:GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_SET);//Set the GPIOA port pin 15 ************************************************************************************************/ /*********************************************************************************************** GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortVal); 功能:向指定GPIO数据端口写入数据 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 PortVal: 待写入端口数据寄存器的值 例子:GPIO_Write(GPIOA, 0x1101); //Write data to GPIOA data port *************************************************************************************************/ /************************************************************************************************ GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); 功能:锁定GPIO管脚设置寄存器 参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设 GPIO_Pin:待锁定的端口位 该参数可以取GPIO_Pin_x(x 可以是 0-15)的任意组合 例子:GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1); //Lock GPIOA Pin0 and Pin1 *************************************************************************************************/ /************************************************************************************************ GPIO_EventOutputConfig(u8 GP IO_PortSource, u8 GPIO_PinSource) 功能:选择GPIO管脚用作事件输出 参数:GPIO_PortSource: 选择用作事件输出的 GPIO端口 GPIO_PinSource :事件输出的管脚 ,该参数可以取GPIO_PinSourcex(x可以是 0-15) 例子:GPIO_EventOutputConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5); //Selects the GPIOE pin 5 for EVENT output *************************************************************************************************/ /************************************************************************************************* GPIO_EventOutputCmd(FunctionalState NewState) ; 功能:使能或者失能事件输出 参数:NewState: 事件输出的新状态 这个参数可以取:ENABLE 或者DISABLE 例子:GPIO_EventOutputConfig(GPIO_PortSourceGPIOC, GPIO_PinSource6); GPIO_EventOutputCmd(ENABLE); //Enable Event Ouput to the GPIOC pin 6 **************************************************************************************************/ /************************************************************************************************* GPIO_PinRemapConfig(u32 GPIO_Remap, FunctionalState NewState) ; 功能:改变指定管脚的映射 参数:GPIO_Remap: 选择重映射的管脚 NewState: 管脚重映射的新状态 这个参数可以取:ENABLE 或者DISABLE 例子:GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);//I2C1_SCL on PB.08, I2C1_SDA on PB.09 **************************************************************************************************/ /************************************************************************************************* GPIO_EXTILineConfig(u8 GPIO _PortSource, u8 GPIO_PinSource) ; 功能:选择GPIO管脚用作外部中断线路 参数:GPIO_PortSource: 选择用作外部中断线源的 GPIO端口 GPIO_PinSource :待设置的外部中断线路 例子:GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8);//Selects PB.08 as EXTI Line 8 **************************************************************************************************/ |
更多回帖