我刚刚开始学习STM32F407,就遇到了一个麻烦。我发现PA1作为GPIO输入特别不稳定。我先使能时钟,初始化IO口,我把其他IO口的输出作为PA1的输入,用LED来指示PA1接收到的是高电平还是低电平。。结果LED根本不受控制,乱闪。。我索性拔了导线,把PA1悬空,还是乱闪。最后我把PA1连到3.3V的VCC或GND上,LED还是有闪烁。其它的IO口暂时没发现这种现象,请问是我的设置问题吗?
以下是主程序
[mw_shl_code=c,true]#include "sys.h"
#include "delay.h"
#include "led.h"
#include "usart.h"
int main(void)
{
LED_Init();
delay_init(168);
while(1)
{
if(PAin(1))
{
LED0=0;
delay_ms(50);
}
else
{
LED0=1;
delay_ms(50);
}
}
}
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
PAin(1)初始化了吗?
给你个初始化参考:
RCC ->AHB1ENR |= 1 << 0; //使能PA时钟
GPIO_Set(GPIOA, IN1, GPIO_MODE_IN, 0, 0, GPIO_PUPD_PD); //PA1输入,下拉
一周热门 更多>