<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Windows CE.Net操作系統的故障診斷專(zhuān)家系統

基于Windows CE.Net操作系統的故障診斷專(zhuān)家系統

作者: 時(shí)間:2010-09-19 來(lái)源:網(wǎng)絡(luò ) 收藏


本文引用地址:http://dyxdggzs.com/article/151514.htm

  在本設計中主要完成A/D的轉換、觸摸屏上觸摸點(diǎn)坐標的顯示、XY軸方向的確定以及有效坐標范圍的確定。整個(gè)程序設計包括環(huán)境變量初始化、對LCD控制器和串行口的初始化以及觸摸屏控制與顯示程序。觸摸屏的控制與顯示程序包括串口數據傳送、液晶顯示控制、觸摸屏定位、中斷處理程序等。中斷處理程序中又包括A/D轉換、坐標計算、坐標檢測、坐標存儲與顯示。

  3.2 鍵盤(pán)驅動(dòng)

  3.2.1 功能要求

  考慮到設備提供的面積有限,設計5x5矩陣鍵盤(pán)滿(mǎn)足實(shí)際需求。

  1)實(shí)現矩陣鍵盤(pán)上所定義的各個(gè)按鍵功能。①方向鍵:上、下、左、右;②功能鍵:確定、取消、菜單,通信、導航;③數字鍵:0~9;④擴展功能鍵:星號鍵,井號鍵;

  2)給應用程序提供接口。其中包括:

 ?、侔存I消息包括WM_KEYD0WN消息,WM_KEYUP消息,WM_CHAR消息。②按鍵延時(shí)要求當用戶(hù)按下某個(gè)按鍵(電源除外),發(fā)送第1條WM_KEYDO-WN消息。對于上、下、左、右鍵,按鍵被按下累計400 ms后,發(fā)送第2條WM_KEY_DOWN消息,此后每隔100 ms發(fā)送l條WM_KEYDOWN消息,直至按鍵被放開(kāi)。

  3.2.2 設計步驟

  設計步驟如下:

  1)初始化:初始化主要是進(jìn)行中斷設置,對鍵盤(pán)中斷、GPIO端口中斷屏蔽位和掛起位進(jìn)行設置。

  2)獲得掃描碼GetScanCode()函數。

  3)獲取虛擬鍵值:通過(guò)修改一個(gè)影射表,影射表的內容主要是掃描碼與虛擬鍵之間的對應關(guān)系。

  4)布設管理。

  3.3 LCD驅動(dòng)

  LCD主要用于顯示文本和圖形信息。液晶顯示屏具有輕薄、體積小、低功耗、無(wú)輻射、平面直角顯示等特點(diǎn)。液晶顯示屏按原理分為STN(超扭曲向列)和TFT(薄膜晶體管)2種。

  GDI(圖形設備顯示接口)是一個(gè)系統組件,它用來(lái)加載和調用設備驅動(dòng)。在 CE中,GDI包含在圖形事件用戶(hù)界面中。在 CE中,顯示驅動(dòng)是一個(gè)本機驅動(dòng),那就意味著(zhù)有常用的接口,這種接口會(huì )給顯示接口提供一組函數集。所以將不會(huì )有比較復雜的操作。Win-dows CE顯示驅動(dòng)只有唯一的一個(gè)函數DrvEnableDriver()需要導出,這個(gè)函數將會(huì )在驅動(dòng)加載的時(shí)候被GDI所調用,同時(shí)把函數指針?lè )祷亟o其它的DDI函數。開(kāi)發(fā)的過(guò)程中需要注意顯示設備使用的是線(xiàn)性的幀緩沖,這樣由CPU直接控制的顯示內存就需要是連續的。微軟提供了一組C++類(lèi)叫GPE(圖形原始引擎)。對于圖形的操作都是建立在這個(gè)類(lèi)上。

  IntNumModes():返回顯示驅動(dòng)所支持的顯示模式數量。

  SCODE GetModeInfo(GPEMode*pMode,int modeNo):返回具體顯示模式的信息,如顯示寬度和高度,一個(gè)像素用幾位來(lái)表示。

  SCODE SetMode(int modeId,HPALETTE*pPalettetHandle):設置顯示模式。對于不同的顯示設備,我們都需要用這個(gè)函數來(lái)設置顯示設備的顯示模式。

  SetPointerShape():設置光標位圖。

  MovePointer():移動(dòng)光標。

  其他的函數接口就不一一介紹,可以參考源代碼。

  4 結束語(yǔ)

  本文以 CE作為目標平臺,實(shí)現了在WindowsCE驅動(dòng)程序設計時(shí),按照先確定要設計的驅動(dòng)程序類(lèi)型是本地驅動(dòng)程序還是流接口驅動(dòng)程序,再選擇驅動(dòng)程序開(kāi)發(fā)方法使用分層驅動(dòng)程序設計。實(shí)際運行表明,設計的的鍵盤(pán)驅動(dòng)程序、觸摸屏、LCD驅動(dòng)、電源管理的驅動(dòng)程序開(kāi)發(fā)為界面程序的開(kāi)發(fā)提供了一個(gè)穩定良好的環(huán)境,大大提高了開(kāi)發(fā)的速度。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>