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