維信科技-嵌入式實(shí)訓(xùn)27_第1頁(yè)
維信科技-嵌入式實(shí)訓(xùn)27_第2頁(yè)
維信科技-嵌入式實(shí)訓(xùn)27_第3頁(yè)
維信科技-嵌入式實(shí)訓(xùn)27_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式實(shí)訓(xùn)27——維信科技一、實(shí)訓(xùn)目的1.進(jìn)一步了解觸摸屏的工作原理。2.學(xué)習(xí)在uCOS-II操作系統(tǒng)下對(duì)觸摸屏的編程。3.進(jìn)一步熟悉繪圖API,圖形控件,消息循環(huán)等內(nèi)容。二、實(shí)訓(xùn)內(nèi)容(維信科技,太原最好的IT培訓(xùn))在液晶屏上設(shè)置四個(gè)按鈕控件,表示四種畫(huà)板功能:畫(huà)直線、畫(huà)圓、畫(huà)任意折線以及清除圖形。在觸摸屏上單擊一個(gè)按鈕后,即可以開(kāi)始在觸摸屏上畫(huà)圖或清除原來(lái)的圖形。三、預(yù)備知識(shí)1、用ARMSDT2.5或ADS1.2集成開(kāi)發(fā)環(huán)境,編寫(xiě)和調(diào)試程序的基本過(guò)程。2、基于uCOS-II操作系統(tǒng)的應(yīng)用程序的框架結(jié)構(gòu)。3、觸摸屏的驅(qū)動(dòng)程序原理(維信科技,太原最好的IT培訓(xùn))。4、系統(tǒng)消息循環(huán)、圖形API函數(shù)以及控件的使用。四、設(shè)備及工具(包括軟件調(diào)試工具)硬件:ARM嵌入式開(kāi)發(fā)平臺(tái)、用于ARM7TDMI的JTAG仿真器、PC機(jī)Pentium100以上(維信科技,太原最好的IT培訓(xùn))。軟件:PC機(jī)操作系統(tǒng)win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成開(kāi)發(fā)環(huán)境、仿真器驅(qū)動(dòng)程序、超級(jí)終端通訊程序五、實(shí)訓(xùn)步驟1、新建工程,將“Exp22模擬電子畫(huà)板”中的文件加入工程。2、打開(kāi)main.c文件,編輯Main_Task任務(wù)中的代碼。定義控件及繪圖的矩形區(qū)域,創(chuàng)建按鈕控件并顯示每個(gè)按鈕代表的功能。啟動(dòng)消息循環(huán),響應(yīng)觸摸屏消息。程序流程圖如圖5-3所示(維信科技,太原最好的IT培訓(xùn))。提示:1)用CreateButton()函數(shù)創(chuàng)建按鈕控件,其參數(shù)Caption即要在該按鈕上顯示的文字。這里同樣需要事先指定每個(gè)控件的ID,為每個(gè)控件的矩形結(jié)構(gòu)賦值,并將ASCII字符串轉(zhuǎn)為Unicode字符串。2)觸摸屏消息的類(lèi)型pMsg->Message為OSM_TOUCH_SCREEN,參數(shù)pMsg->WParam中包含坐標(biāo)信息,用下面的語(yǔ)句獲得(x,y)坐標(biāo)值:Touch_Position.x=pMsg->WParam&0xffff;Touch_Position.y=pMsg->WParam>>16;3)用IsInRect()函數(shù)判斷某個(gè)觸摸點(diǎn)坐標(biāo)是否在一個(gè)矩形區(qū)域內(nèi),例如:IsInRect2(pLine_Button_RECT,pTouch_Position);判斷pTouch_Position坐標(biāo)值是否在畫(huà)線按鈕pLine_Button_RECT的矩形區(qū)域內(nèi)。4)觸摸屏消息參數(shù)pMsg->LParam為觸摸屏動(dòng)作,定義如下:#defineTCHSCR_ACTION_CLICK 1//觸摸屏單擊#defineTCHSCR_ACTION_DBCLICK 2//觸摸屏雙擊#defineTCHSCR_ACTION_DOWN 3//觸摸屏按下#defineTCHSCR_ACTION_UP 4//觸摸屏抬起#defineTCHSCR_ACTION_MOVE 5//觸摸屏移動(dòng)在畫(huà)直線功能中:第1次單擊繪圖區(qū)域時(shí),觸摸屏動(dòng)作為T(mén)CHSCR_ACTION_CLICK,用MoveTo()函數(shù)設(shè)定直線起點(diǎn);第2次單擊時(shí)用LineTo()函數(shù)繪制直線。程序中用Line_State作為直線起點(diǎn)和終點(diǎn)的狀態(tài)標(biāo)志。在畫(huà)圓功能中:第1次單擊繪圖區(qū)域時(shí),觸摸屏動(dòng)作為T(mén)CHSCR_ACTION_CLICK,記錄該觸摸點(diǎn)坐標(biāo)為圓心坐標(biāo);第2次單擊時(shí)用Circle()函數(shù)畫(huà)圓。程序中用Circle_State作為圓心和圓周的狀態(tài)標(biāo)志(維信科技,太原最好的IT培訓(xùn))。用下面的語(yǔ)句求得圓的半徑:r=sqrt((x0-Touch_Position.x)*(x0-Touch_Position.x)+(y0-Touch_Position.y)*(y0-Touch_Position.y));5)在畫(huà)折線功能中,觸摸屏動(dòng)作為T(mén)CHSCR_ACTION_DOWN時(shí)用MoveTo()函數(shù)設(shè)置線段起始點(diǎn);動(dòng)作為T(mén)CHSCR_ACTION_MOVE時(shí)用LineTo()函數(shù)繪制線段。LineTo()函數(shù)執(zhí)行完畢后繪圖當(dāng)前點(diǎn)自動(dòng)轉(zhuǎn)移到線段的終點(diǎn)。6)系統(tǒng)的按鈕控件本身也能對(duì)按鈕上的觸摸屏消息作出處理,會(huì)隨著TCHSCR_ACTION_UP或TCHSCR_ACTION_DOWN動(dòng)作繪制動(dòng)態(tài)的按鈕圖形。并會(huì)在TCHSCR_ACTION_UP之后發(fā)出如下消息:pMsg=OSCreateMessage((POS_Ctrl)pButtonCtrl->parentWnd,OSM_BUTTON_CLICK,pButtonCtrl->CtrlID,NULL);SendMessage(pMsg);有興趣的用戶可以在Main_Task中用OSOnSysMessage()函數(shù)將觸摸屏消息發(fā)給控件本身,并嘗試處理上述由按鈕控件發(fā)出的消息,而無(wú)需用IsInRect()函數(shù)判斷了。3、用ARMSDT2.5或ADS1.2編譯、下載并調(diào)試上述程序,檢查運(yùn)行結(jié)果。4、生成發(fā)行版本的.bin文件,(維信科技,太原最好的IT培訓(xùn))通過(guò)USB下載到嵌入式開(kāi)發(fā)平臺(tái)中,運(yùn)行并檢查輸出結(jié)果。創(chuàng)建按鈕,繪圖窗口創(chuàng)建按鈕,繪圖窗口觸摸屏消息?繪圖狀態(tài)為直線繪圖狀態(tài)為畫(huà)圓繪圖狀態(tài)為曲線繪圖狀態(tài)為清屏觸摸直線按鈕觸摸圓按鈕觸摸繪圖區(qū)域觸摸清屏按鈕觸摸曲線按鈕Line_State=0?Lin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論