基于ARM7支持觸摸屏和實(shí)時(shí)操作系統(tǒng)的開發(fā)與應(yīng)用
寄存器的定義根據(jù)不同的微處理器和LCD顏色、尺寸等來定義,這里以S3C44B0X說明:
本文引用地址:http://cafeforensic.com/article/112971.htmrLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);
rLCDCON2=(LINEVAL)
|(HOZVAL_COLOR<<10)|(10<<21);
rLCDSADDR1= (0x3<<27)|(((U32)frameBuffer>>22)<<21)|M5D((U32)frameBuer>>1);
rLCDSADDR3= (LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9);
嵌入式操作系統(tǒng)下應(yīng)用程序的開發(fā)
在嵌入式操作系統(tǒng)下開發(fā)基于ARM7的應(yīng)用程序主要是進(jìn)行任務(wù)的劃分,根據(jù)每個(gè)任務(wù)的緊急程度建立不同優(yōu)先級(jí),下面就任務(wù)劃分的原則和實(shí)例進(jìn)行說明:
任務(wù)劃分原則
將一個(gè)軟件系統(tǒng)分解成并行任務(wù)時(shí),主要考慮系統(tǒng)內(nèi)功能的異步性。通過分析數(shù)據(jù)流圖中的變換,確定哪些變換是并行的,哪些變換本質(zhì)上是順序執(zhí)行的。通過這種方法,一個(gè)變換對(duì)應(yīng)一個(gè)任務(wù),或一個(gè)變換包括幾個(gè)任務(wù),同時(shí)應(yīng)遵循如下原則:
● I/O依賴性:由于I/O速度的限制,對(duì)它操作的程序應(yīng)獨(dú)立為一個(gè)任務(wù);
● 時(shí)間關(guān)鍵性:將有時(shí)間關(guān)鍵性的功能分離出來,組成獨(dú)立的任務(wù),賦予高優(yōu)先級(jí);
● 計(jì)算功能:計(jì)算功能要占用較多CPU時(shí)間間,應(yīng)賦予他們較低的優(yōu)先級(jí);
● 功能內(nèi)聚:將緊密相關(guān)的功能組成一個(gè)任務(wù),使各種功能共享資源或相同事件的驅(qū)動(dòng);
● 時(shí)間內(nèi)聚:將在同一時(shí)間內(nèi)完成的任務(wù),即使功能不相關(guān),組成一個(gè)獨(dú)立的任務(wù);
● 周期執(zhí)行功能:相同周期內(nèi)執(zhí)行的各功能組成一個(gè)任務(wù),頻率高的賦予高優(yōu)先級(jí)。
應(yīng)用實(shí)例
本文以實(shí)際項(xiàng)目為例進(jìn)行分析,在本項(xiàng)目中觸摸屏作為輸入設(shè)備、系統(tǒng)檢測(cè)輸出窗口,通過控制器嵌入mC/OS-II操作系統(tǒng)和mC/GUI配合使用實(shí)現(xiàn)完成相應(yīng)按鈕指令的功能,并在后臺(tái)的特定任務(wù)中完成各種中斷、計(jì)算、通訊等功能。因此進(jìn)行了如表1所列的任務(wù)劃分和定義。
觸摸屏的應(yīng)用程序可以根據(jù)觸摸屏的實(shí)際使用情況來編寫,但在編寫時(shí)應(yīng)該注意模塊化的編程思想,以便它能作為一種輸入平臺(tái)簡(jiǎn)便的移植到相關(guān)的應(yīng)用中。本文編寫了一個(gè)泵的控制系統(tǒng)作為觸摸屏應(yīng)用設(shè)計(jì)的實(shí)例。利用圖形軟件mC/GUI編寫的控制系統(tǒng)操作界面如圖1所示,當(dāng)用觸摸筆或者手指直接點(diǎn)擊圖中可編輯的按鈕控件(如最高壓力、設(shè)定流量和設(shè)定時(shí)間),彈出參數(shù)輸入對(duì)話框,如圖2所示。mC/GUI的設(shè)計(jì)具有模塊化的特點(diǎn),在不同的模塊中包含了不同的層,比如LCD驅(qū)動(dòng)包含了所有與LCD的接口。同樣,mC/GUI也提供了通用觸摸屏的應(yīng)用程序接口(API),應(yīng)用程序可以通過將它的函數(shù)庫添加到工程中來方便的使用。
結(jié)語
在mC/OS-II實(shí)時(shí)操作系統(tǒng)和ARM平臺(tái)上開發(fā)應(yīng)用軟件已經(jīng)成為現(xiàn)代工業(yè)領(lǐng)域熱點(diǎn),可以大大地降低軟件程序編寫的時(shí)間和任務(wù)難度,提高了各模塊的獨(dú)立性,縮短開發(fā)周期,并且系統(tǒng)具有更好的穩(wěn)定性、可移植性和可維護(hù)性。本文以實(shí)際的項(xiàng)目為應(yīng)用背景,開發(fā)的基于ARM7支持觸摸屏(mC/GUI)的實(shí)時(shí)操作系統(tǒng)(mC/OS-II)具有良好的人機(jī)交互界面,完善的驅(qū)動(dòng)、控制、顯示、檢測(cè)和計(jì)算功能,支持單機(jī)和網(wǎng)絡(luò)控制運(yùn)行。
c語言相關(guān)文章:c語言教程
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
評(píng)論