对GPIO的相关操作总结如下:
BIT_PIN_SLP_WPU 睡眠模式下的弱上拉
BIT_PIN_SLP_WPD
睡眠模式下的弱上拉
BIT_PIN_SLP_NUL
睡眠模式下的无上下拉
BIT_PIN_DS(x)配置pin脚的驱动能力(0-3)
BIT_PIN_AF(x)配置pin的四个功能
BIT_PIN_SLP_IE 睡眠模式下的输入
BIT_PIN_SLP_OE
睡眠模式下的输出
BIT_PIN_SLP_Z
睡眠模式下的高阻
BIT_PIN_WPU 正常模式下的弱上拉
BIT_PIN_WPU 正常模式下的弱下拉
BIT_PIN_WPU 正常模式下的无上下拉
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的IO最大输出速度
2MHZ 10MHZ 50MHZ
{REG_PIN_TRACEDAT3, BIT_PIN_SLP_AP|BIT_PIN_NULL|BITS_PIN_DS(1)|BITS_PIN_AF(3)|BIT_PIN_WPU|BIT_PIN_SLP_WPD|BIT_PIN_SLP_IE},//DTV_IRQ_GPIO235
GPIO操作实例
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
delay_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//使能PB PE端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//LED0->PB.5端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为50MHz
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_5);//GPIOB.5输出高
GPIO_ResetBits(GPIOE,GPIO_Pin_5);//GPIOE.5输出低
delay_ms(500);
}