新手入门
- 积分
- 15
- 金钱
- 15
- 注册时间
- 2018-1-25
- 在线时间
- 3 小时
|
10金钱
u8 KeyMat_Scan(void)
{
u8 KeyVal;
u8 KeyVall;
int i;
int b[6];
RCC->APB2ENR|=1<<6;
GPIOE->CRL&=0X00000000;
GPIOE->ODR&=0X00000000;
GPIOE->CRL|=0X33338888;
GPIOE->ODR|=0XF0<<0;
if((GPIOE->IDR&0XFF)!=0XF0)
{
delay_ms(10);
if((GPIOE->IDR&0XFF)!=0XF0)
{
switch(GPIOE->IDR&0XFF)
{
case(0XF8): {KeyVal=1; KeyVall='*';} break;
case(0XF4): {KeyVal=2; KeyVall=0;} break;
case(0XF2): {KeyVal=3; KeyVall='#';} break;
}
GPIOE->CRL&=0X00000000;
GPIOE->ODR&=0X00000000;
GPIOE->CRL|=0X88883333;
GPIOE->ODR|=0X0F<<0;
delay_us(500);
switch(GPIOE->IDR&0XFF)
{
case(0X3F): KeyVal=KeyVal;break;//////////1
case(0X2F): KeyVal=KeyVal+3;break;///////////2
case(0X6F): KeyVal=KeyVal+6;break;///////////3
case(0XAF): KeyVal=KeyVall;break;//////////////4
}
}
}
#if 0
while ((GPIOE->IDR&0XFF)!=0X0F);
#endif
return KeyVal;
}
|
|