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