<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于嵌入式Windows CE5.0的無線監(jiān)控系統(tǒng)研究

          基于嵌入式Windows CE5.0的無線監(jiān)控系統(tǒng)研究

          作者: 時間:2009-04-24 來源:網(wǎng)絡(luò) 收藏

          2.2 GPRS模塊的接口設(shè)計
          S3C2440有3個UART通道,利用其中一個通道設(shè)計串口,使其與GPRS模塊連接,由于S3C2440自帶的UART控制器,使得硬件開發(fā)和軟件設(shè)計都比較簡單。但RS 232標準所定義的高、低電平信號,與一般的微控制器系統(tǒng)的電路所定義的高、低電平信號完全不同,如S3C2440系統(tǒng)的標準邏輯“1”對應電平2~3 V,標準邏輯“O”對應0~4 V電平。顯然,與RS 232標準所述的電平信號完全不同。兩者之間要進行通信,必須經(jīng)過信號電平的轉(zhuǎn)換,目前常使用的電平轉(zhuǎn)換芯片有MAX232,MAX3221和MAX324.3,具體設(shè)計電路如圖7和圖8所示。

          本文引用地址:http://www.ex-cimer.com/article/152523.htm

          3 操作系統(tǒng)平臺的定制
          CE是高度模塊化的操作系統(tǒng),正因為如此,用戶為了滿足特定的要求而對操作系統(tǒng)進行定制,如果為自己的設(shè)備定制 CE操作系統(tǒng),則須進行創(chuàng)建、構(gòu)建、運行和發(fā)布OS等一系列操作。在視頻中,根據(jù)功能要求,利用Platform Builder5.0定制系統(tǒng)的流程如下:
          (1)導入BSP開發(fā)包。由于用的是三星公司的ARM920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件將其導入。打開“Platform Builder5.0”,選擇“File”菜單下的 “Manage Catalog Features”,如圖9所示。在彈出的對 話框中單擊“Import”,瀏覽到SMDK2440文件下的 smdk2440.cec文件,將其導入。

          (2)創(chuàng)建項目。根據(jù)WinCE的要求,在定制系統(tǒng)的過程中選擇合適的組件來實現(xiàn)。其中包括的組件有:支持應用程序開發(fā)的MFC組件和支持網(wǎng)絡(luò)的相關(guān)組件等。
          (3)編譯項目:點擊菜單“Build OS”→“Sysgen”開始編譯項目。
          (4)下載運行時映像,調(diào)試成功后啟動。編譯成功后會在目WinCES00PBWorkspacestestlRelDirsmdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺上運行。

          4 驅(qū)動程序的開發(fā)
          4.1 攝像頭驅(qū)動的開發(fā)
          攝像頭驅(qū)動開發(fā)是設(shè)計中的一個難點,也是一個關(guān)鍵部分。由于攝像頭采集的視頻數(shù)據(jù)可以當作數(shù)據(jù)流來處理,所以對于攝像頭的驅(qū)動將采用流式接口的方法來開發(fā)。
          (1)在Platform Builder中打開前面定制的操作系統(tǒng)工程,然后在新建一個WIN32 DLL項目,添加2個C++的源文件,即:camera.cpp和IIc.cpp,其中camer―a.cpp包含驅(qū)動的入口函數(shù)DLLMain();驅(qū)動的前綴為“CIS”,IIc.cpp包含通過ICC接口對攝像頭相關(guān)寄存器進行配置的函數(shù)。
          (2)根據(jù)前面的硬件電路和OV9650芯片的工作時序,通過編寫流接口的CIS_Init函數(shù)實現(xiàn)OV9650初始化。主要包括以下3步:調(diào)用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函數(shù)通知系統(tǒng)注冊中斷;調(diào)用CreateEvent()函數(shù)創(chuàng)建一個CameraEvent事件;調(diào)用CreateThread()函數(shù)創(chuàng)建CameraThread線程。在Camera Capture Thread服務函數(shù)中調(diào)用WaitForSingleObject(CameraEvent,Dis―play Time)函數(shù)等待Camera Event事件的發(fā)生。此事件由與其關(guān)聯(lián)的SYSINTR_CAM中斷來觸發(fā)。此外還有其它流接口函數(shù)(CIS_IOControl等)也可以以類似的方法實現(xiàn)。
          (3)編寫DLL的導出函數(shù)定義文件.DEF。.DEF文件定義了DLL的導出函數(shù)類表。.DEF文件可以就用一般的記事本編輯,保存時后綴名改為.DEF即可,關(guān)于本攝像頭驅(qū)動的.DEF文件內(nèi)容如下:


          (4)為驅(qū)動程序配置注冊表。在platform.reg中添加以下注冊項即可:


          在攝像頭驅(qū)動開發(fā)完成后,通過編寫應用程序在終端的觸摸屏上顯示出來,如圖10所示。首先通過CreateWindow這個API函數(shù)創(chuàng)建一個用來顯示圖像的窗體,然后創(chuàng)建回調(diào)函數(shù)CaptureThreadProc的線程,在回調(diào)函數(shù)中根據(jù)不同的操作向操作系統(tǒng)發(fā)送不同的消息值,處理圖像的讀取、顯示等。測試結(jié)果如圖11所示。

          4.2 串口驅(qū)動開發(fā)

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();