鍵盤按下電平不改變 以下是我getkey的寫法 麻煩各位大佬了
uint8_t GetKey()
{
uint8_t i,j;
HAL_GPIO_WritePin(GPIOC,0xf0,GPIO_PIN_RESET);
if((KEYPORT&0xf0)!=0xf0)
{
HAL_Delay(5);
if((KEYPORT&0xf0)!=0xf0)
{
for(i=0;i<4;i++)
{
HAL_GPIO_WritePin(GPIOC,0xf0,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOC,0x10<<i,GPIO_PIN_RESET);
if((KEYPORT&0xf0)!=0xf0)
{
for(j=0;j<4;j++)
if(KEYPORT&(i<<j)==0) break;
while((KEYPORT&0xf0)!=0xf0) disp();
return i*4+j;
}
}
}
}
return 0xff;
} |