求助m16矩阵按键扫描问题
UINT8 KEY_Scan(void){
UINT8 KeyPin = 0;
UINT8 i;
UINT8 PinTemp;
KEY_DDR = 0XF0;
KEY_PORT = 0X0F;
_NOP();
PinTemp = KEY_PIN;
if((PinTemp & 0X0f) != 0x0f)
{
_delay_ms(20);
PinTemp = KEY_PIN;
if((PinTemp & 0X0f) != 0x0f)
{
KeyPin = PinTemp & 0X0f;
KEY_DDR = 0x0f;
KEY_PORT = 0xF0;
PinTemp = KEY_PIN;
KeyPin |= (PinTemp & 0Xf0);
KeyPin |= 0x80;
UartSendByte(KeyPin);
KEY_DDR = 0;
KEY_PORT = 0XFF;
for(i = 0 ;i < 11;i++)
{
if(KeyPin == szKeyPin)
{
return i;
}
}
}
}
return KEY_NONE;
}从书上抄下来的,按键扫描一直不对,想用串口看看pin值,但是收到的数据不对,一次收到两个字节的数据,麻烦坛友帮忙看看
页:
[1]