GPIO
输出测试
进行GPIO输出测试,请按照以下步骤操作:
选择GPIO引脚,并设置为输出模式
GPIO_InitStruct.GPIO_Pin = GPIO_Pin; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
使用上述参数初始化硬件
GPIO_Init(GPIO_InitTypeDef *GPIO_InitStruct);
向指定的输出端口引脚写入逻辑值
GPIO_WriteBit(u32 GPIO_Pin, u32 Pin_State);
输入测试
进行GPIO输入测试,请按照以下步骤操作:
选择GPIO引脚,并设置为输入模式
GPIO_InitStruct.GPIO_Pin = GPIO_Pin; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
使用上述参数初始化硬件
GPIO_Init(GPIO_InitTypeDef *GPIO_InitStruct);
读取指定的输入端口引脚
GPIO_ReadDataBit(u32 GPIO_Pin);
中断测试
进行GPIO中断测试,请按照以下步骤操作:
选择GPIO引脚,设置为中断模式,无上拉/下拉,并配置中断触发类型、极性、消抖
GPIO_InitStruct.GPIO_Pin = GPIO_Pin; GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_INT; GPIO_InitStruct.GPIO_ITTrigger = trigger_type; GPIO_InitStruct.GPIO_ITPolarity = polarity; GPIO_InitStruct.GPIO_ITDebounce=GPIO_INT_DEBOUNCE_ENABLE(or GPIO_INT_DEBOUNCE_DISABLE);
使用上述参数初始化硬件
GPIO_Init(GPIO_InitTypeDef *GPIO_InitStruct);
注册并启用GPIO中断
InterruptRegister(GPIO_INTHandler,GPIO_DEV_TABLE[port].IrqNum, (u32)GPIO_DEV_TABLE[por t].GPIOx, 10); InterruptEn(GPIO_DEV_TABLE[port].IrqNum, 10);
(可选)配置GPIO中断模式
GPIO_INTMode(u32 GPIO_Pin, u32 NewState, u32 GPIO_ITTrigger, u32 GPIO_ITPolarity, u32 GPIO_ITDebounce);
注册用户处理函数
GPIO_UserRegIrq(GPIO_Pin, gpio_test_irq_handler, (&GPIO_InitStruct_Temp));
启用指定的GPIO引脚中断
GPIO_INTConfig(GPIO_Pin, ENABLE);