void TIM2_IRQHandler(void) { static unsigned char on = 1; if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); on = !on; Led_OnOff(on); } }
uint8 read_card_loop() { uint8 ret; bit flag1; uint16 tick; cls(); Display(0,0,g_z18pos.welcome_msg,0); tick = 0; g_lcd_flag = 0; flag1 = 0; if(z18pos_check_coll_interval()) return KNG_POS_EXPIRED_COLL; Led_OnOff(1,0); while(1) { clr_dog(); ret = GetKeyVal(1); if(ret != 0xFF) Lcd_onoff(1); if(ret == KEY_ESC) break; ret = mif_request(0); if(flag1) { cls(); Display(0,0,g_z18pos.welcome_msg,0); flag1 = 0; } if(ret == Z18_FAILED) { z18pos_check_consume(); kng_sleep(1); tick+=3; if(tick >= 60) { tick = 0; cls(); Display(0,0,g_z18pos.welcome_msg,0); //Led_OnOff(1,1); Lcd_onoff(0); g_lcd_flag = 0; InitRtcTime(); ReadRtcTime(g_z18pos.curr_time); } if(z18pos_check_coll_interval()) { KNG_AUDIO(AU_NEED_COL,Z18_AUDIO_DELAY); print_error(KNG_POS_EXPIRED_COLL,NULL); return KNG_POS_EXPIRED_COLL; } } else { InitRtcTime(); ReadRtcTime(g_z18pos.curr_time); memset(&g_mycard,0,sizeof g_mycard); g_mycard.last_login_sect = 0xFF; tick = 0; // 寻卡成功 ret = consume_card(); if(ret>0) { debug_string("consume [%d]\n",(uint16)ret); } switch(ret) { case KNG_POS_PARAM_ERROR: print_error(ret,"请联系管理员"); break; case KNG_POS_HARDWARE_ERROR: print_error(ret,"请检查POS机"); break; case KNG_POS_NO_RIGHT: print_error(ret,NULL); break; case KNG_POS_NOT_SUPP_CARDTYPE: print_error(ret,NULL); break; case KNG_POS_SUCCESS: break; case KNG_POS_UNEXPECT_CARD: break; case KNG_POS_REC_FULL: KNG_AUDIO(AU_NEED_COL,Z18_AUDIO_DELAY); print_error(ret,"请采集"); break; default: break; } flag1 = 1; } } return 0; }