Вот так это нужно делать:
adl_tmrHandler_t Check_SIM(void) { adl_simState_e SIM_event; SIM_event = adl_simGetState (); switch (SIM_event) { ... case ADL_SIM_STATE_FULL_INIT: { My_tmr_1 = (adl_tmr_t *)adl_tmrUnSubscribe( (adl_tmr_t *)My_tmr_1, (adl_tmrHandler_t)Check_SIM, ADL_TMR_TYPE_100MS ); // симка готова - едем дальше }break; ... }
}
adl_tmr_t * My_tmr_1 = (adl_tmr_t *)adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS, (adl_tmrHandler_t)Check_SIM );
кроме события ADL_SIM_STATE_FULL_INIT в обработчик попадает еще масса всяких событий т.е. можно задать реакцию на неправильный пин, хреновую симку и т.д.
|