|
嵌入式三級(jí)中的一個(gè)題目,麻煩大神看下?
“ 輸入密碼的鍵盤采用非標(biāo)準(zhǔn)鍵盤鍵盤接口設(shè)計(jì)成4x3的陣列,若設(shè)計(jì)師選用了GPE0~GPE3來(lái)輸出鍵盤行掃描信號(hào),選用GPD0~GPD2來(lái)輸入鍵盤列信號(hào),請(qǐng)補(bǔ)充完善下面的鍵盤掃描函數(shù):
#define KEYOUTPUT(*(volatile INT8U *)0x56000044)//定義GPE數(shù)據(jù)端口
#define KEYIUTPUT(*(volatile INT8U *)0x56000034)//定義GPD數(shù)據(jù)端口
INT16U ScanKey()
{
INT16U key=0xFFFF;
INT6U i;
INT8 temp=0xFF,output;
rGPDCON=rGPDCON&0xFFFFFFC0;
rGPECON=(rGPECON&0xFFFFFF00)|0x00000055;
for(i=1;((i<=8&&(i>0));i<<=1))
{
output|=0xFF;
output&=(~i);
KEYOUTPUT=output;
temp=KEYIUTPUT;
if((temp&0x07)!=0x07);
{
key=(~i);
key<<=8;
key|=((temp&0x07)|0xF8);
return(key);
}
}
return 0xFFFF;
}
”若第三行第二列的鍵被按下,則返回值是多少? |
|
|