do_bhcon.c
上传用户:shyuanyi
上传日期:2008-05-24
资源大小:69k
文件大小:2k
源码类别:

RFID编程

开发平台:

C/C++

  1. #include  "My_head.h"
  2. #include  "key.h"
  3. /*************************************************/
  4. extern  BYTE  Bh_Into_Consume(void);
  5. BYTE  Do_BhConNextKey_Even_12(BYTE Key)
  6. {
  7.   BYTE   i;
  8.   if(Key > KEY_MAX-1)return(Key);
  9.   Stop_Timer(WAIT_PRESSKEY_Tevent);
  10.   Set_TimerEvent(WAIT_PRESSKEY_Tevent,WAIT_PRESSKEY_TIME);
  11.   switch(Key)
  12.     {
  13.  case KEY_0 : Key =0; break;
  14.  case KEY_1 : Key =1; break;
  15.  case KEY_2 : Key =2; break;
  16.  case KEY_3 : Key =3; break;
  17.  case KEY_4 : Key =4; break;
  18.  case KEY_5 : Key =5; break;
  19.  case KEY_6 : Key =6; break;
  20.  case KEY_7 : Key =7; break;
  21.  case KEY_8 : Key =8; break;
  22.  case KEY_9 : Key =9; break;
  23.  //case KEY_FUN:Key =19;break;
  24.      case KEY_ENTER1:
  25.  case KEY_ENTER2:if((i=Bh_Into_Consume())!=SUCCESS)
  26.                    {
  27.  do_buzzer(BUZZER_ERROR);
  28.      Dis_Err(i);
  29.    Stop_Timer(DISPLAY_DELAYEVENT_Tevent);//msut!!
  30.      Set_TimerEvent(DISPLAY_DELAYEVENT_Tevent,DISPLAY_DELAYEVENT_TIME);
  31.      Set_TimerEvent(WAIT_CARD_Tevent,WAIT_CARDCONSUME_TIME);//(1)
  32.  SetCurState(IDEL_STATUS);
  33.  return(FAILURE);
  34.    }
  35.  return(0);
  36.  case KEY_CANCEL:Renew_To_AllInit();
  37.  return(0);
  38.  case KEY_BACK:  if(!My_Back_Key())
  39.                  {
  40.   Renew_To_AllInit();
  41.   return(0);
  42.  }
  43.                  My_Dis_KeyBuf();
  44.      return(0);
  45.      default:return(Key);
  46. }
  47.    if(!My_Save_Key(Key))do_buzzer(BUZZER_ALARM);
  48.    else  My_Dis_KeyBuf();
  49.    return(SUCCESS);
  50. }
  51. BYTE  Bh_Into_Consume(void)
  52. {
  53.   Bh_Money  pdata  bh_money;
  54.   BYTE  i;
  55.   if(thekey.key_count>4)
  56.   {
  57.     return(KEY_VALERR_CODE);
  58.   }
  59.   thekey.key_val = 0L;
  60.   for(i=0;i<thekey.key_count;i++) //Count_BhCode()
  61.   {
  62.     thekey.key_val *= 10;
  63.     thekey.key_val += thekey.key_buf[i];
  64.   }
  65.   if((thekey.key_val<0L)||(thekey.key_val>100))
  66.   {
  67.     return(BH_CODE_ERR);
  68.   }
  69.  
  70.   if((i=ReadBh_Money_From_Memory(&bh_money,thekey.key_val))!=SUCCESS)
  71.   {
  72.     return(i);
  73.   }
  74.   thekey.key_val=bh_money.money;
  75.   if(thekey.key_val<1)
  76.   {
  77.     return(BH_CODE_ERR);
  78.   }
  79.   KeyVal_Tobuf();
  80.   Dis_KeyBuf();
  81.   Dis_consume_Led(TRUE);
  82.   Do_DisLed_Flash(0xff,0x00,25);
  83.   //Stop_Timer(DIS_CLOCKEVENT_Tevent);
  84.   Set_TimerEvent(WAIT_CARD_Tevent,WAIT_CARDCONSUME_TIME);
  85.   Stop_Timer(WAIT_EXIT_Tevent);
  86.   Set_TimerEvent(WAIT_EXIT_Tevent,WAIT_EXIT_TIME);
  87.   SetCurState(CONSUME_STATUS);
  88.   return(SUCCESS);
  89. }