智能家居系統(tǒng)數(shù)字顯示終端設(shè)計方案
3) OS_CPU_A.ASM 文件。μC/OSII 的移植需要編寫5 個簡單的匯編語言函數(shù)。
OS_ENTER _CRITICAL (): 關(guān)閉中斷源;
OS_EXIT_CRITICAL (): 重開中斷源;
OSStartHighRdy (): 運(yùn)行當(dāng)前優(yōu)先級最高的任務(wù);
OSCtxSw (): 一個任務(wù)放棄CPU 使用權(quán)時調(diào)用;
OSIntCtxSw (): 在退出中斷服務(wù)函數(shù)OSIntExit() 中被調(diào)用, 實現(xiàn)中斷級任務(wù)切換。
LPC1758使用OSPendSV()函數(shù)快捷地進(jìn)行上下文切換。OSPendSV()的C語言表述程序為OSPendSV: 關(guān)中斷;
if (PSP ! =NULL)
{
//保存R4~R11 到任務(wù)堆棧SP_process;
OSTCBCur>OSTCBStkPtr = SP_process;
}
OSTaskSwHook ();
OSPrioCur = OSPrioHighRdy;
OSTCBCur = OSTCBHighRdy;
PSP = OSTCBHighRdy>OSTCBStkPtr;
//從新任務(wù)堆棧中恢復(fù)R4~R11;
/恢復(fù)中斷;
//異常返回;
完成上述工作后, 只要再根據(jù)目標(biāo)板的實際情況編寫Target 目錄中的3 個文件, μC/OSII 就可以運(yùn)行在處理器上了。
3 重點解決數(shù)字顯示模塊的組網(wǎng)問題
1) 角色介紹。ZigBee 標(biāo)準(zhǔn)網(wǎng)絡(luò)定義了3 種角色, 分別是協(xié)作員、路由和端節(jié)點。
協(xié)作員(coordinator) 負(fù)責(zé)啟動整個網(wǎng)絡(luò), 它是網(wǎng)絡(luò)的第一個設(shè)備, 協(xié)作員選擇一個信道和一個網(wǎng)絡(luò)ID, 隨后就可以啟動網(wǎng)絡(luò)。
路由(router) 的功能是允許其他設(shè)備加入網(wǎng)絡(luò), 協(xié)助網(wǎng)絡(luò)中其他終端設(shè)備通信。
端節(jié)點(end device) 沒有特定的維持網(wǎng)絡(luò)結(jié)構(gòu)的責(zé)任, 它可以選擇睡眠或喚醒兩種工作狀態(tài), 功耗小, 可使用電池供電。
評論