void DispatcherTask ( void * pvParameters ) { struct ADispatcherMessage *pxDispatcherMessage; struct ALCDMessage xLCDMessage, *pxLCDMessage = & xLCDMessage; UB_RTC_Init ( ); LedInit ( ); xDispatcherQueue = xQueueCreate ( 8, sizeof ( unsigned long ) ); while ( 1 ) { SendTimeToLCD ( pxLCDMessage ); if ( xQueueReceive ( xDispatcherQueue, & ( pxDispatcherMessage ), 250 / portTICK_RATE_MS ) ) { if ( !strnicmp ( pxDispatcherMessage->Domain, "HELP", 3 ) ) { PrintHelp ( ); } else if ( !strnicmp ( pxDispatcherMessage->Domain, "RTC", 3 ) ) { if ( !strnicmp ( pxDispatcherMessage->Command, "SET", 3 ) ) { SetRTCTime ( pxDispatcherMessage->Parameter ); } else if ( !strnicmp ( pxDispatcherMessage->Command, "GET", 3 ) ) { GetRTCTime ( ); }; } else if ( !strnicmp ( pxDispatcherMessage->Domain, "AUDIO", 5 ) ) { ForwardAudioMessage ( pxDispatcherMessage->Command, pxDispatcherMessage->Parameter ); } else if ( !strnicmp ( pxDispatcherMessage->Domain, "LED", 3 ) ) { if ( !strnicmp ( pxDispatcherMessage->Command, "SET", 3 ) ) { LedSet ( pxDispatcherMessage->Parameter ); } else if ( !strnicmp ( pxDispatcherMessage->Command, "GET", 3 ) ) { LedGet ( pxDispatcherMessage->Parameter ); }; } else { }; }; }; };
void CheckRTC(void) { T_STRUCT time; if(RTCInit()==FALSE) { time.year=DEFAULT_TIME_YEAR; time.month=DEFAULT_TIME_MONTH; time.day=DEFAULT_TIME_DAY; time.hour=DEFAULT_TIME_HOUR; time.minute=DEFAULT_TIME_MINUTE; time.sec=DEFAULT_TIME_SECOND; SetRTCTime(&time); } }
void RspButtonSetOk(u8 param) { T_STRUCT time; if(param==WIDGET_PARAM_ENTER) { //保存时间 time.year=GetEditTmp(&SET_TIME_WIN_EDIT_YEAR); time.month=GetEditTmp(&SET_TIME_WIN_EDIT_MONTH); time.day=GetEditTmp(&SET_TIME_WIN_EDIT_DAY); time.hour=GetEditTmp(&SET_TIME_WIN_EDIT_HOUR); time.minute=GetEditTmp(&SET_TIME_WIN_EDIT_MINUTE); time.sec=0; time.date=GetDate(&time); SetRTCTime(&time); //刷新一下任务栏的时间 SetRTCBar(&time); //返回MAIN_WIN GuiWindowDraw(&MAIN_WINDOW); } }