供貨周期 | 現(xiàn)貨 |
---|
產(chǎn)品簡介
詳細(xì)介紹
應(yīng)用軟件設(shè)計(jì)
根據(jù)智能控制單元的功能要求,將系統(tǒng)分為交流電壓采集模塊、數(shù)據(jù)處理模塊、斷路器動作時間預(yù)測模塊、通信模塊、以及與CPLD的接口模塊共11個任務(wù)和3個中斷來實(shí)現(xiàn),每個任務(wù)根據(jù)其實(shí)時性的要求并參照單調(diào)執(zhí)行率調(diào)度法RMS分配一定的優(yōu)先級、任務(wù)及中斷的定義,如表1所示。
優(yōu)先級高的是開始任務(wù)(TaskStart),這是系統(tǒng)啟動后運(yùn)行的第1個任務(wù)。在該任務(wù)中要完成系統(tǒng)及相關(guān)外設(shè)的初始化,并進(jìn)行必要的自檢測,然后創(chuàng)建其余的各個任務(wù)。在完成其余各個任務(wù)創(chuàng)建之后,該任務(wù)要刪除自己,把系統(tǒng)資源讓給其他任務(wù),整個系統(tǒng)開始正常運(yùn)行。該任務(wù)的示意代碼如下:
/*系統(tǒng)及外設(shè)初始化*/
/*系統(tǒng)自檢測*/
/*創(chuàng)建各個任務(wù)*/
StartCpuTimer2();/*啟動時間片*/
OSStatInit();/*統(tǒng)計(jì)任務(wù)初始化*/
創(chuàng)建智能控制單元的各個應(yīng)用任務(wù);
KickDog();/*WatchDog復(fù)位*/
OSTaskdel(OS_PRIO_SELF);/*刪除開始任務(wù)*/
除了TaskStart()之外,其余各任務(wù)模塊的結(jié)構(gòu)都是無限循環(huán)體,圖3給出了一般任務(wù)流程圖。