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

RFID编程

开发平台:

C/C++

  1. /*************************************************/
  2. #include  "My_head.h"
  3. /*************************************************/
  4. extern char RfModule_Init();
  5. BYTE  idata  Equip_CurStatus=0;//正常状态。
  6. void  My_All_Init(void)
  7. {
  8.    Init_Sound();
  9.    Uart_Init();
  10.    Init_Timer0();
  11.    Init_spi();   //(1)
  12.    Init_LockBell();
  13.    Init_KeyLed();//(2)//init_led();init_key();
  14.    Init_DateIC();//init_IIC();DS1302
  15.    Init_Memory();
  16.    //Init_Rfic();  //rf500init.
  17.    RfModule_Init();
  18. }
  19. void  Renew_To_AllInit(void)    // (内容重置,恢复为初态)
  20. {
  21.    //my_test_status_flag = TRUE;
  22.    if(GetCurState()!=IDEL_STATUS)//add for discard,by 2004-07-22
  23.    {
  24.   //Init_Rfic();  //rf500init.
  25.   //Init_Sound();   ???
  26.   //UartBuf_Clear();--mustn't.
  27.    }
  28.    Message_Clear();//Init_Message();
  29.    KeyBuf_Clear(0);
  30.    Init_Timer0();  //Stop_All_Timer();enable_timer0();
  31.    Init_Led_Save();
  32. //   Dis_ConMode();
  33.    DisplayClock();
  34.    Dis_Err_Led(FALSE);
  35.    Dis_Con_Led(FALSE);
  36.    Do_DisLed_Flash(0x00,0x00,200);
  37.    Set_TimerEvent(DIS_CLOCKEVENT_Tevent,DIS_CLOCKEVENT_TIME);
  38.    Set_TimerEvent(WAIT_CARD_Tevent,WAIT_CARDCONSUME_TIME);
  39.    SetCurState(IDEL_STATUS);//ActiveState(INIT_STATUS);
  40. }
  41. void  My_Next_Init(void)
  42. {
  43.   BYTE  ii;
  44.   //Do_Inspect_HardWare();
  45.   ii=Memory_Check();
  46.   Renew_To_AllInit();
  47.   if(ii!=SUCCESS)
  48.   {
  49.    Equip_CurStatus=ii;
  50.    Dis_Err(ii);
  51.    do_buzzer(BUZZER_ALARM);
  52.    Stop_Timer(DIS_CLOCKEVENT_Tevent);//must!
  53.    Set_TimerEvent(DISPLAY_DELAYEVENT_Tevent,DISPLAY_DELAYEVENT_TIME);
  54.    return;
  55.   }
  56.   if((!equip_addr.ntype) ||(!seedcard_info.unit_code[0] && !seedcard_info.unit_code[1] && !seedcard_info.unit_code[2]))
  57.   {
  58.    Equip_CurStatus=NO_INI_EQUIP;
  59.    Dis_Err(Equip_CurStatus);
  60.    do_buzzer(BUZZER_ALARM);
  61.    Stop_Timer(DIS_CLOCKEVENT_Tevent);//must!
  62.    Set_TimerEvent(DISPLAY_DELAYEVENT_Tevent,DISPLAY_DELAYEVENT_TIME);
  63.    return;
  64.   }
  65.   do_buzzer(BUZZER_SUCCESS);
  66.   Sound_Play(SOUND_MAX_INDEX);//WELCOME_INDEX);
  67.   //SendStr("initedr",7);//for test!
  68. }
  69. void  NoKey_Into_SeedCardInit(void)
  70. {
  71.   Do_DisLed_Flash(0xff,0x00,25);
  72.   Stop_Timer(WAIT_CARD_Tevent);
  73.   Set_TimerEvent(WAIT_CARD_Tevent,WAIT_CARDCONSUME_TIME);
  74.   Stop_Timer(WAIT_EXIT_Tevent);
  75.   Set_TimerEvent(WAIT_EXIT_Tevent,WAIT_SeedCardInit_TIME);
  76.   SetCurState(MY_TEST_STATUS);
  77. }
  78. void   main(void)
  79.   {
  80.    MESSAGE  message;
  81.    delay_ms(1450);
  82.    My_All_Init();
  83.    /**************************************/
  84.    //for other test...
  85.    /**************************************/
  86.    My_Next_Init();
  87.    Dis_Equip_Code();//Dis_EquipAddr();
  88.    delay_ms(1000);
  89.    NoKey_Into_SeedCardInit();//for test!没有键盘直接进入子卡初始化!
  90.    while(TRUE)
  91.     {
  92.      while(TRUE)
  93.         {
  94.          /*------------------------------------------------*/
  95.  Check_Key_Event();          //  (1)
  96.      /*------------------------------------------------*/
  97.          Check_Uart_Event();         //  (2)
  98.  /*------------------------------------------------*
  99.  Check_Card_Event(0);        //  (3)
  100.      /*------------------------------------------------*/
  101.          Check_Timer_Event();        //  (4)
  102.          /*------------------------------------------------*/
  103.          while(GetMessage(&message))Do_Process(message);
  104.      /*------------------------------------------------*/
  105.    Check_Power_Event();
  106.      /*------------------------------------------------*
  107.  if(Check_Err_Event())break; //  (5)
  108.      /*------------------------------------------------*/
  109.  //My_Test_Event();          //  (6)
  110.          /*------------------------------------------------*/
  111.         }
  112.      //for other test...
  113.      My_Next_Init();
  114.     }
  115.   }