新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2015-8-15
- 在线时间
- 0 小时
|
5金钱
我自己写的键值检测的函数,但key0键一直会处于被按下状态,这是怎么回事
#include"my_key.h"
#include"delay.h"
void KEY_Init(void)
{
GPIO_InitTypeDef GPIOINIT_A;
RCC_AHBPeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);
GPIOINIT_A.GPIO_Pin= GPIO_Pin_15;
GPIOINIT_A.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOA,&GPIOINIT_A);
GPIOINIT_A.GPIO_Pin= GPIO_Pin_5;
GPIOINIT_A.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOC,&GPIOINIT_A );
GPIOINIT_A.GPIO_Pin= GPIO_Pin_0;
GPIOINIT_A.GPIO_Mode= GPIO_Mode_IPD;
GPIO_Init(GPIOA,&GPIOINIT_A );
}
u8 KEY_Read(void)
{
static u8 key_sign= 1;
if((KEY_L==0||KEY_R==0||KEY_W==1)&&key_sign)
{
delay_ms(10);
if(KEY_L==0)
return KEYL_V;
else if(KEY_W==1)
return KEYW_V;
else if(KEY_R==0)
return KEYR_V;//这个是key0
key_sign= 0;
}
else if(KEY_L==1&&KEY_R==1&&KEY_W==0)
key_sign= 1;
return 0;
}
|
|