大学生
最后登录1970-1-1
在线时间 小时
注册时间2016-7-22
|
uint16_t Trg;
uint16_t Cont;
uint16_t Key_Count;
static uint16_t Number;
void KeyRead(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
uint8_t ReadData=GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)^0xff;
Trg=ReadData&(ReadData^Cont);
Cont=ReadData;}
static void Key_Scan(void)
{
KeyRead(GPIOC,GPIO_Pin_8);if(Trg){Key_Count++; Number=0;}
KeyRead(GPIOD,GPIO_Pin_2);if(Trg){Key_Count++; Number=1;}
KeyRead(GPIOC,GPIO_Pin_9);if(Trg){Key_Count++; Number=2;}
KeyRead(GPIOC,GPIO_Pin_12);if(Trg){Key_Count++; Number=3;}
KeyRead(GPIOC,GPIO_Pin_11);if(Trg){Key_Count++; Number=4;}
KeyRead(GPIOC,GPIO_Pin_7);if(Trg) {Key_Count++; Number=5;}
KeyRead(GPIOB,GPIO_Pin_8);if(Trg) {Key_Count++; Number=6;}
KeyRead(GPIOB,GPIO_Pin_9);if(Trg) {Key_Count++; Number=7;}
KeyRead(GPIOB,GPIO_Pin_12);if(Trg) {Key_Count++; Number=8;}
KeyRead(GPIOB,GPIO_Pin_13);if(Trg) {Key_Count++; Number=9;}
}
本来Trg只会被置1一次,结果Key_Count的值疯狂自加,求助!
|
|