时钟初始化使能
RCC_APB2PeriphClockCmd(RCC_APB2periph_GPIOX, ENABLE)
第一个参数:需要使能或者失能的外设
第二个参数:使能ENABLE 失能DISABLE
GPIO 操作
以下是GPIO其它函数
GPIO_InitTypeDef GPIO_InitStructure;定义结构体***设置参数
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;*****
GPIO_Init(GPIOA, &GPIO_InitStructure);
以上是GPIO函数
输出流程
以下是GPIO输出函数
/** * @brief 设置引脚为低电平
* @param GPIOx:设置的外设,其中x可以是(A到G)
* @param GPIO_Pin_x:选择的端口引脚,其中x可以是(0到15)。
* @retval 无 */
GPIO_Init(GPIOA, &GPIO_InitStructure);初始化IO口
GPIO_SetBits(GPIOx, GPIO_Pin_x):设置引脚为高电平
GPIO_ResetBits(GPIOx,GPIO_Pin_x):设置引脚为低电平
GPIO_WriteBit(GPIOx, GPIO_Pin_x,BitAction BitVal):设置或者清除指定的端口,BitAction BitVal设置
GPIO_Write(GPIO_Typedef*GPIOX, int16_t PortVal);向指定的GPIO数据端口写入数据
void GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin):读取指定引脚的输入
void GPIO_ReadInputData(GPIO_TypeDef* GPIOx);读取指定的GPIO端口输入
void GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);读取指定端口引脚的输出
void GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);读取指定的GPIO端口输出
GPIO_DeInit(GPIO_Typedef*GPIOX):复位GPIO外设
GPIO_AFIODeInit(void):复位AFIO外设