Stm32GPIO共有八种输入输出模式
输出模式下有四种
1.推挽输出:高低电平都有驱动能力
2.开漏输出:低电平才有驱动能力
3.复用推挽输出
4.复用开漏输出
LED闪烁代码如下(设置低电平,推挽输出,LED正极接电源3V3,负极接PA0,利用低电平形成电压差实现点亮)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);// 使能GPIOA时钟
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO结构体
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置推挽输出模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PA_0
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速率50M
GPIO_Init(GPIOA,&GPIO_InitStructure); //GPIO初始化(第一个变量为GPIOx,第二个变量为结构体)
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_0); //设置相应PA0为高电平
Delay_ms(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_0); //设置相应PA0为低电平
Delay_ms(500);
}