首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎样让身份证读卡器(神思二代)保持正常读卡状态?OnTimer()有关问题

2013-04-09 
怎样让身份证读卡器(神思二代)保持正常读卡状态?OnTimer()问题现有程序是这样的:void CIdCardDlg::OnTimer

怎样让身份证读卡器(神思二代)保持正常读卡状态?OnTimer()问题
现有程序是这样的:

void CIdCardDlg::OnTimer(UINT nIDEvent) 
{
userReadCard() ;//读身份证信息
UpdateData(FALSE);

CDialog::OnTimer(nIDEvent);
}
计时器设定为:SetTimer( MAIN_SEEKED_CARD_TIMER, 7000, NULL ) 

结果是:
         读卡器不管有没有放身份证,工作灯一直闪烁,不断在读卡;



我希望实现的效果是:
    
       1、读卡器进入读卡状态
       2、放卡时,读卡器读取身份证信息;只要卡不拿走,读卡器就不作出反应;
       3、卡拿走时,读卡器进入读卡状态
       4、重复2、3步骤
OnTimer()? 身份证读卡器 神思二代 OnTimer() 刷卡
[解决办法]
根据复位是否成功来判断有没有卡。
[解决办法]


while(true)
{
    do
    {  //判断卡的状态 没有卡,延时一下,循环。
     }while(x)
    do
     {
          //读取卡信息,返回所需要的值
     }while(false)
    do
    {
      // 判断卡的状态,有卡 延时一下,在这里循环
    }while(X)

}

我觉的单独放一条线程还是比较好的
[解决办法]
这样是不行的,
人家硬件设置好了,读卡时间限制的!
多长时间没读到卡会失败的!
每两次读卡时间间隔设置

[解决办法]
void CIdCardDlg::OnTimer(UINT nIDEvent) 
{
  switch (iState)
 {
   case 1:
    {
    iState=XX
    }
   case 2:
   {
    iState=XX

    }
   case 3:
  {
   iState=XX

  }
  }
}
维护 卡iState 状态  根据不同状态做不同的处理  

热点排行