while(1)
{
// Debug("waiting for card .....");
if(CHK_TIMEOUT(-1, ulTimerCount) == 0)
{
clear_below(2);
disp_msg3("读卡超时");
beeper_wait(500, 3);
return -1;
}
EvtType = read_event();
if(((GetCardMode & SWIPE_ONLY) - 0x30) && (EvtType & EVT_MAG))
{
Debug("get mag_card.......");
if(read_card())
return(MAGCARD);
}
else if(EvtType & EVT_KBD)
{
Debug("get key press.......");
return(KBCARD);
}
if(((GetCardMode & IC_ONLY) - 0x30) && Is_CustIcCard())
{
return (ICCARD);
}
}
2.如果只是等待刷卡的话可以用
char Crd1Bufl[80]; /*1磁信息(ASCII)*/
char Crd2Bufl[40]; /*二次信息(ASCII)*/
char Crd3Bufl[108]; /*三磁信息(ASCII)*/
memset(Crd1Bufl, 0, 80);
memset(Crd2Bufl, 0, 40);
memset(Crd3Bufl, 0, 108);
MmiUtil_ClearLines(0, 0);
memset(buf, 0, sizeof(buf));
MmiUtil_UserClr(LINE2);
/* 刷信用卡或手输信用卡卡号 第一遍 */
MmiUtil_DisplayLine((char*)"请刷测试卡->", LINE2);
MmiUtil_flushcard();
MmiUtil_GetTrack(Crd1Bufl, Crd2Bufl, Crd3Bufl, buf, 0);