偶然发现点亮led的小困惑,现在解决了。我们知道stm32中,GPIO端口的内部一般是接高电平(3.3v),其外部就是我们肉眼所看到的PA1等标号。
1、写法一
led的正极接3.3v,这样当A1引脚输出低电平0(即GPIO_ResetBits),两者形成电压差点亮led。
写法:
//点亮LED
void LED1_ON(void)
{GPIO_ResetBits(GPIOA, GPIO_Pin_1);//A1引脚输出低电平
}
2、写法二
这种情况,LED正极接A1必须输出高电平(使用GPIO_SetBits)
//点亮LED
void LED1_ON(void)
{GPIO_SetBits(GPIOA, GPIO_Pin_1);//A1引脚输出高电平
}
这就是为什么,在看他人代码时会出现不同的写法,因为其硬件连接方式不同。