基于μC/OS-II的多窗口顯示屏控制器設(shè)計
3.2 軟件設(shè)計
基于上述方案,程序的設(shè)計將變得非常簡潔。首先進行系統(tǒng)初始化,然后從Flash中讀取屏參數(shù),進行參數(shù)初始化。接著建立任務(wù)Task Control,對各窗口顯示任務(wù)進行實時管理,它擁有比各窗口顯示任務(wù)都高的優(yōu)先級。它每隔1 s對reset標志進行一次查詢,如果reset=1,則刪除原先建立的各窗口顯示任務(wù),從Flash中讀取新的窗口個數(shù),然后依此建立新任務(wù),將每個窗口的顯示交由單個任務(wù)來控制。
下面是TaskControl任務(wù)的程序演示:
窗口顯示任務(wù)用于實現(xiàn)屏幕各窗口的顯示。它可根據(jù)各窗口顯示方式的不同在其相應(yīng)area區(qū)域中進行下一幀數(shù)據(jù)的運算。在完成1幀數(shù)據(jù)顯示后,調(diào)用OSTime DlyHMSM()使當前任務(wù)進入等待狀態(tài)并進行一次任務(wù)調(diào)度,將系統(tǒng)控制權(quán)交給其他處于就緒狀態(tài)的顯示任務(wù),由此完成和窗口顯示任務(wù)之間的切換。也可以通過調(diào)整OSTimeDlyHMSM()的參數(shù)來改變各窗口2幀顯示信息之間的時間間隔,從而可調(diào)整各窗口特技顯示的效果,如移動顯示的移動速度。下面是其中一個窗口顯示任務(wù)的程序演示:
4 結(jié)論
本設(shè)計充分利用了Nios II 32位處理器的高性能和μC/OS-II實時操作系統(tǒng)高效的任務(wù)調(diào)度算法,實現(xiàn)了單屏幕多窗口顯示,顯示屏控制變得更加靈活。整個控制系統(tǒng)在1片F(xiàn)PGA芯片上完成,有效降低了系統(tǒng)的成本。
評論