我使用PA.3PA.6四个IO口作为按键,按键公共端口接3.3V的VCC,然后IO口设置为下拉输入,当按键按下的时候对应的LED灯点亮。LED灯对应的IO口是PB.12-PB.15。
现在的情况是,给开发板上电之后,PB.15和PB.12的LED灯就直接亮了(对应的按键IO口是PA.3和PA.6),其他的两个灯可以通过按键来点亮。
我换过其他的IO口实验,也是有类似的情况发生,请问这是怎么回事呢?
我使用的是MINI 开发板
这个是按键的相关函数
[mw_shl_code=c,true]#include "key.h"
#include "delay.h"
//按键初始化函数
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能PORTA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_5|GPIO_Pin_4|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //设置成下拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA
}
void KEY_Scan(void)
{
if(PAin(3)==1)
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
if(PAin(4)==1)
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
if(PAin(5)==1)
GPIO_ResetBits(GPIOB,GPIO_Pin_14);
if(PAin(6)==1)
GPIO_ResetBits(GPIOB,GPIO_Pin_15);
}[/mw_shl_code]
|