/**********************************************************************************************
* 名称: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
**************************************************************************************************/
|
0
|
|
|
|