void InitSystem(void) { InitLed(); InitUart(); BluetoothInit(); InitAdc(); InitSensor(); InitFan(); InitRtc(); InitSecondTimer(); }
void main(void) { int t=15; /* include your code here */ f1.functionId=ULTRASONIC_FRONT; f1.status=READY; f1.root=UNIQUE_FUNCTION; f1.timerCount=50; DisableInterrupts; InitReg(); InitClock(); InitComunication(); InitPorts(); InitInputCompare(); InitKbi(); beginComunication(); initExecutingVector(); InitBuffer(&bufferIn); InitBuffer(&bufferOut); InitPwm(); InitADC(); EnableInterrupts; InitRtc(); /* despues de habilitar interrupciones y antes de empezar a mover el robot debe calibrar sensores de meta no arrancar el motor sin antes ejecutar initGoalSensor()! */ initGoalSensor(); setPwmValue(t); if(t>35){ kbiSampleFreq=1000; }else{ kbiSampleFreq=1000+((35-t)*200); } for(;;) { if(goalStatus == 0){ PTDD_PTDD1; setGoalMode(STOP_ON_GOAL); SENTIDO_M1_1=1; SENTIDO_M1_2=0; SENTIDO_M2_1=1; SENTIDO_M2_2=0; SENSOR_DE_META_ON; PTDD_PTDD0=1; /* functionHandler(); dispatcher(&executingVector,&bufferOut); frameGenerator();*/ /* f1.functionId=ULTRASONIC_FRONT; f1.status=READY; getUltrasonic(&f1); while(f1.status!=AVAILABLE); t=3000; while(t!=0){ t--; } */ /* f1.functionId=ULTRASONIC_FRONT; f1.status=READY; f1.root=UNIQUE_FUNCTION; f1.timerCount=50; getUltrasonic(&f1); while(f1.status!=AVAILABLE); t=3000; while(t!=0){ t--; } */ /* f1.functionId=ULTRASONIC_RIGHT; f1.status=READY; getUltrasonic(&f1); while(f1.status!=AVAILABLE); t=30000; while(t!=0){ t--; } */ } /* loop forever */ } /* please make sure that you never leave main */ }
//这2个函数可以放在lib中,...结束 VOID RtcCtrlInit(VOID) { #ifdef FUNC_UARTDBG_EN BYTE i; #endif #ifdef FUNC_ALARM_EN extern BYTE GetRtcCurAlarmNum(VOID); InitRtc(gAlarmList, sizeof(gAlarmList) / sizeof(AlARM_INFO)); gCurAlarmNum = GetRtcCurAlarmNum(); //0表示没有闹钟 DBG(("gCurAlarmNum:%02BX\n", gCurAlarmNum)); #else InitRtc(NULL, 0); // 该函数必须调用 #endif RtcState = RTC_STATE_IDLE; RtcSubState = RTC_SET_NONE; RtcUpdateDisplay = FALSE; RtcFlag = 1; RtcAutOutTimeCount = 0; TimeOutSet(&RtcReadTimer, 0); TimeOutSet(&RtcSetCntTimer, 0); #ifdef FUNC_ALARM_EN #ifdef FUNC_BREAK_POINT_EN BP_SaveInfo((BYTE *)&gBreakPointInfo.PowerMemory.AlarmList2Store, sizeof(gBreakPointInfo.PowerMemory.AlarmList2Store)); #endif #ifdef FUNC_UARTDBG_EN for(i = 0; i < MAX_ALARM_NUM; i++) { DBG(("gpAlarmList[%bu].AlarmMode:%bx,", i, gAlarmList[i].AlarmMode)); DBG(("gAlarmList[%bu].AlarmTimeAsSeconds:%lu,", i, gAlarmList[i].AlarmTimeAsSeconds)); DBG(("gAlarmList[%bu].AlarmStatus:%bx\n", i, gAlarmList[i].AlarmStatus)); } #endif #ifdef AU6210K_CAR_MODEL_DEMO DBG(("InitRtc2\n")); RtcSourceState = RTC_SOURCE_CLOCK; DBG(("RtcSourceState=%bu\n", RtcSourceState)); if(GetAlarmStatus(RtcAlarmNum)) { gAlarmState = ALARM_STATUS_OPEN; DBG(("gAlarmState= ALARM_STATUS_OPEN\n")); } else { gAlarmState = ALARM_STATUS_CLOSE; DBG(("gAlarmState= ALARM_STATUS_CLOSE\n")); } #endif #ifdef AU6210K_BOOMBOX_DEMO if(GetAlarmStatus(1)) { gAlarm1State = ALARM_STATUS_OPEN; DBG(("gAlarm1State= ALARM1_STATUS_OPEN\n")); } else { gAlarm1State = ALARM_STATUS_CLOSE; DBG(("gAlarm1State= ALARM1_STATUS_CLOSE\n")); } if(GetAlarmStatus(2)) { gAlarm2State = ALARM_STATUS_OPEN; DBG(("gAlarm2State= ALARM2_STATUS_OPEN\n")); } else { gAlarm2State = ALARM_STATUS_CLOSE; DBG(("gAlarm2State= ALARM2_STATUS_CLOSE\n")); } #endif #endif // //测试用,客户根据实际情况设置。 // gRtcTime.Year = 1980; // gRtcTime.Mon = 1; // gRtcTime.Date = 1; // gRtcTime.WDay = 1; // 0:星期日 // gRtcTime.Hour = 7; // gRtcTime.Min = 0; // gRtcTime.Sec = 0; // SetRTCCurrTime(&gRtcTime); // gAlarmTime.Year = 1980; // gAlarmTime.Mon = 1; // gAlarmTime.Date = 1; // gAlarmTime.WDay = 1; // gAlarmTime.Hour = 8; // gAlarmTime.Min = 0; // gAlarmTime.Sec = 0; // gAlarmMode = ALARM_MODE_ONCE_ONLY; // SetAlarmTime(RtcAlarmNum, gAlarmMode, &gAlarmTime); #ifdef AU6210K_BOOMBOX_DEMO gRtcTime.Hour = 12; gRtcTime.Min = 0; gRtcTime.Sec = 0; SetRTCCurrTime(&gRtcTime); gAlarmTime.Hour = 0; gAlarmTime.Min = 0; gAlarmTime.Sec = 0; gAlarmMode = ALARM_MODE_PER_DAY; SetAlarmTime(1, gAlarmMode, &gAlarmTime); SetAlarmTime(2, gAlarmMode, &gAlarmTime); #endif }