void RunSystemTask(void) { #define TASK_RUN_STK_SIZE 150 #define TASK_RUN_PRIO 3 SysCreateTask(task_run,0,"Main Task",0,TASK_RUN_STK_SIZE,TASK_RUN_PRIO); //主线程,定时用RTC校时 150 3 }
void task_app(void *arg) { (void)arg; __GlobalLock(); watchdog_feed(); if(SysInit()) { DebugPrint(0,"system init failed!! quit\n"); return; } watchdog_feed(); if(ParamInit()) { DebugPrint(0,"param init failed!! quit\n"); return; } watchdog_feed(); // MonitorInit(); RunTimeThread(); InitCenmet(); //´®¿Ú³±í #ifndef TEST_PLC SysCreateTask(SvrCommTask,0,"Svr Comm Task",-1,TASK_GPRS_STK_SIZE,TASK_GPRS_PRIO);//uplink 300 8 #endif #ifdef BIG_CONCENT InitUp485(); #endif // MonitorTask(); #ifdef DEFINE_PLCOMM PlcCommInit(); #endif #ifdef TEST_PLC SysCreateTask(RunTestTask,0,"Test Task",0,200,25);//test 200 25 #endif // SysCreateTask(RunStackCheck,0,"Stack Check Task",0,200,26);//check 200 26 TtyShellStart(); //while(1)Sleep(2000);; }
int MonitorTaskInit(void) { //GpioSetDirect(GPIO_BATLOW, 0); //GpioSetDirect(GPIO_BAT_CHARGE, 1); //GpioSetValue(GPIO_BAT_CHARGE, RunState.batcharge); SysCreateTask(MonitorTask, NULL); SET_INIT_FLAG(MonitorTaskInit); return 0; }
int TtyShellStart(void) { int argc; for(argc=0; argc<SHELLARG_NUM; argc++) { CmdLineArgV[argc] = CmdLineArgBuf[argc]; } SysCreateTask(TtyShellTask, NULL); return 0; }
int CenMetInit(void) { rtimer_conf_t conf; //Sleep(2000*6); MdbInit(); //LoadCenMetProto(); CMetCommInit(); CenMetRmdInit(); AutoReadCenMetInit(); IMetInit(); CenMetAlarmInit(); conf.curtime = UTimeReadCurrent(); conf.bonce = 0; memset(&conf.basetime, 0, sizeof(sysclock_t)); conf.tdev = 1; conf.tmod = UTIMEDEV_MINUTE; // 1 minute SysAddRTimer(&conf, RTimer1Minute, 0); //conf.tdev = 15; //conf.tmod = UTIMEDEV_MINUTE; // 15 minute //SysAddRTimer(&conf, RTimer15Minute, 0); memset(&conf, 0, sizeof(conf)); conf.basetime.year = 11; conf.basetime.month = 1; conf.basetime.day = 3; conf.basetime.hour = 23; conf.basetime.minute = 58; conf.basetime.second = 00; conf.curtime = UTimeReadCurrent(); conf.bonce = 0; conf.tdev = 1; conf.tmod = UTIMEDEV_DAY; // 1 day SysAddRTimer(&conf, RTimerDay, 0); if(SysCreateTask(CenMetTask, 0)) printf("create cenmet failed\n"); //if(SysCreateTask(CenMetSticTask, 0)) printf("create cenmetstic failed\n"); SET_INIT_FLAG(CenMetInit); return 0; }
void TaskInjInit(uint8_t priority) { SysCreateTask(hTaskInj, priority, TaskInj); SysStartTask(hTaskInj); // setup T3 - // 16bit r/w, clksrc for eccp, 1:8 pre, int clk, STOP // freq = 1.25MHZ t3con = 0b10111000; tmr3h = 0; tmr3l = 0; // clr counter // setup eccp - drive pin low, goes high on next interrupt eccp1con = 0b00001000; trisd.4 = TRISOutput; }
int PlcInit(void) { //rtimer_conf_t conf; printf("plc init...\n"); //SysInitEvent(&PlcEvent); LoadPrdConfig(); LoadPltData(); PlcCommInit(); PlcStateInit(); PlMdbInit(); SysCreateTask(PlcTestTask, NULL); SET_INIT_FLAG(PlcInit); return 0; }
void RunAppTask() { #define TASK_APP_STK_SIZE 150 #define TASK_APP_PRIO 21 SysCreateTask(task_app,0,"Task App",0,TASK_APP_STK_SIZE,TASK_APP_PRIO);//APP 150 21 }
void TaskSerialCmdProcInit(uint8_t priority) { SysCreateTask(hTaskSerialCmdProc, priority, TaskSerialCmdProc); SysStartTask(hTaskSerialCmdProc); }