在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > WindowsCE環(huán)境下無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝

            WindowsCE環(huán)境下無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝

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

              項(xiàng)目要求實(shí)現(xiàn)一個(gè)獨(dú)立的嵌入式無(wú)線(xiàn)通信模塊,通過(guò)現(xiàn)有的IEEE80211b接入無(wú)線(xiàn)局域網(wǎng)進(jìn)行通信。系統(tǒng)采用Samsung公司的芯片開(kāi)發(fā)嵌入式系統(tǒng)硬件平臺(tái),需要在Windows CE環(huán)境驅(qū)勸PCMCIA

              3.2 安裝的問(wèn)題和解決方案

              WindowsCE操作系統(tǒng)支持兩種類(lèi)型的設(shè)備驅(qū)動(dòng)程序:內(nèi)置式設(shè)備驅(qū)動(dòng)程序和可安裝設(shè)備驅(qū)動(dòng)程序。

            當(dāng)目標(biāo)朵與PC機(jī)相鏈,且目標(biāo)機(jī)有顯示屏和鏈盤(pán)時(shí),對(duì)于可安裝的設(shè)備驅(qū)動(dòng)程序,其安裝步驟為:建立目標(biāo)機(jī)與PC機(jī)的連接,將設(shè)備驅(qū)動(dòng)程序的.dll文件復(fù)制到Windows CE的Windows目錄下;當(dāng)系統(tǒng)檢測(cè)到設(shè)備時(shí),顯示屏中會(huì)出現(xiàn)相應(yīng)的對(duì)話(huà)框,用鍵盤(pán)輸入驅(qū)動(dòng)的名稱(chēng)即可。

              項(xiàng)目中要為現(xiàn)有的無(wú)線(xiàn)網(wǎng)卡安裝驅(qū)動(dòng)程序。因?yàn)閃indows CE系統(tǒng)運(yùn)行時(shí)是基于RAM存儲(chǔ)的,ROM相當(dāng)于只讀硬盤(pán),一旦系統(tǒng)斷電或冷啟動(dòng)后,RAM中的信息就會(huì)丟失,尤其是一些注冊(cè)表的信息,所以要對(duì)RAM持續(xù)供電。但由于本系統(tǒng)硬件電源不能保證持續(xù)供電,安裝了無(wú)線(xiàn)網(wǎng)卡的驅(qū)動(dòng)程序后,信息存儲(chǔ)在RAM中,系統(tǒng)斷電或冷啟動(dòng)后,相關(guān)的信息會(huì)丟失。而且,目標(biāo)機(jī)在實(shí)際使用中無(wú)顯示屏和鍵盤(pán)。因此,斷電重啟時(shí)需要自動(dòng)重新安裝無(wú)線(xiàn)網(wǎng)卡驅(qū)動(dòng)程序。

              解決方案為:從系統(tǒng)持久存儲(chǔ)SM卡中讀取網(wǎng)卡驅(qū)動(dòng)程序xi825.dll和TCP/IP屬性配置文件config.txt,并按配置文件設(shè)備注冊(cè)表鍵值,然后為無(wú)線(xiàn)網(wǎng)卡安裝驅(qū)動(dòng)程序。若需要根據(jù)具體應(yīng)用環(huán)境更新TCP/IP屬性值,可用新的配置文件覆蓋SM卡中的舊文件,冷啟動(dòng)后,重新設(shè)備屬性值,在安裝網(wǎng)卡驅(qū)動(dòng)即可。

              用EVC編寫(xiě)應(yīng)用程序完成自動(dòng)安裝無(wú)線(xiàn)網(wǎng)卡驅(qū)動(dòng)的功能,圖3為應(yīng)用程序的大體流程。

              首先,把兩個(gè)文件從SM卡的storage card文件夾拷貝到Windows CE系統(tǒng)的Windows目錄下;拷貝成功后,按config.txt的內(nèi)容對(duì)注冊(cè)表進(jìn)行操作,設(shè)置具體環(huán)境下的TCP/IP屬性值;系統(tǒng)檢測(cè)到無(wú)線(xiàn)網(wǎng)卡后,在彈出名為“Unidentified PCCard Adapter”的對(duì)話(huà)框中程序自動(dòng)輸入網(wǎng)卡驅(qū)動(dòng)程序名,完成無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝。

              3.3 幾個(gè)具體問(wèn)題的解決

              下面,再討論一下本方案中幾個(gè)具體問(wèn)題的解決辦法。包括對(duì)注冊(cè)表的操作、自動(dòng)安裝功能的實(shí)現(xiàn)、程序流程的總體控制以及將程序打包封裝入操作系統(tǒng)的作法。

              3.3.1 對(duì)注冊(cè)表的操作

              Windows CE中有一系列API函數(shù)可以對(duì)注冊(cè)表進(jìn)行操作,完成打開(kāi)關(guān)閉注冊(cè)表、讀取或修改鍵值等功能。另外,Windows CE注冊(cè)表中值的類(lèi)型為Unicode;而配置文件config.txt是在PC機(jī)上產(chǎn)生的,類(lèi)別為ANSI。要按cogfing.txt中讀取的值設(shè)定注冊(cè)表值,就要進(jìn)行數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,可以用函數(shù)MultiByteToWideChar()實(shí)現(xiàn)[4]。關(guān)鍵代碼如下:

              WindowsCE環(huán)境下無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝  RegOpenKeyEx(HKEY_LOCAL_MACHINE, //根鍵TEXT("Commxi8251ParmsTcpIP"),
              //打開(kāi)根鍵下的子鍵
              0, //預(yù)留值,必設(shè)為0
              0, //不支持此項(xiàng),必設(shè)為0
              hKey //最終打開(kāi)鍵的句柄指針
              );

              RegSetValueEx( hKey, //對(duì)鍵操作的句柄

              TEXT("IpAddress"),//鍵中的數(shù)據(jù)項(xiàng)名
              0, //預(yù)留值,必設(shè)為0
              REG_GZ, //數(shù)據(jù)項(xiàng)中值的類(lèi)型
              (CONST BYE*)((LPCTSTR)regData),//存有數(shù)據(jù)項(xiàng)值的緩沖區(qū)
              dwDataSize //值的字節(jié)數(shù)
              ); //對(duì)"IpAddress"數(shù)據(jù)項(xiàng)的值作修改,即改變IP值

              3.3.2 自動(dòng)安裝功能的實(shí)現(xiàn)

              用FindWindows()函數(shù)判斷對(duì)話(huà)窗口的出現(xiàn);用keybd_event()函數(shù)模擬鍵盤(pán)輸入。關(guān)鍵代碼如下:

              TCHAR g_szTitle[80]=TEXT("Unidentified PCCard Adapter"); //指定對(duì)話(huà)框的標(biāo)題
              HWND hWnd=..FindWindows(NULL,g_szTitle); //判斷此標(biāo)題名的窗口是否已出現(xiàn),不論是否為前臺(tái)窗口
              if (hWnd! =NULL) //若窗口已出現(xiàn)
              {..SetForegroundWindows(hWnd); //將此窗口設(shè)置前臺(tái)窗口
              keybd_event(0x58,0,0,0); //按下x鍵
              keybd_event(0x58,0,KEYEVENTE_KEYUP,0); //抬起x鍵
              //完成了按下和抬起x鍵的兩個(gè)動(dòng)作,就模擬了鍵盤(pán)輸入字符x.
              ............//用同樣的方法輸入 'i825.dll'
              keybd_event(0x0d,0,0,0);
              keybd_event(0x0d,0,KEYEVENTF_KEYUP,0); //最后輸入確認(rèn)鍵
              }

              正確輸入后,可以看到無(wú)線(xiàn)網(wǎng)卡的顯示燈開(kāi)始閃爍,說(shuō)明網(wǎng)卡已經(jīng)安裝成功,等待進(jìn)行無(wú)線(xiàn)通信。

              3.3.3 程序流程的總體控制

              為了保證程序流程的順序,整個(gè)程序中還需要有一個(gè)總體監(jiān)視控制的管理員。這種監(jiān)控功能,可以通過(guò)發(fā)送接收特定消息給主控函數(shù)的方法,也可以采用等待特定事件對(duì)象的方法,還可以采用開(kāi)定時(shí)器查詢(xún)的方法等。鑒于方法簡(jiǎn)單,而且對(duì)系統(tǒng)資源占用并不大,這里選用了開(kāi)定時(shí)器查詢(xún)的方法,并設(shè)置了標(biāo)志位flag區(qū)分不同階段工作,進(jìn)行相應(yīng)的操作。下面列出部門(mén)關(guān)鍵代碼:

              flag=0; //最初標(biāo)志位設(shè)為0,即先拷貝所需要文件

              m_nTimer=SetTimer(1,2000,NULL); //開(kāi)啟定時(shí)器

              KillTimer(m_nTimer); //時(shí)間到,先關(guān)閉定時(shí)器,進(jìn)行相應(yīng)判斷和操作。

              3.3.4 應(yīng)用程序封裝入系統(tǒng)

              上文已經(jīng)講了將應(yīng)用程序封裝入操作系統(tǒng)的一般方法,分為應(yīng)用程序的拷貝和修改系統(tǒng)配置文件兩步。此項(xiàng)目最后要把開(kāi)的應(yīng)用程序monitor.exe打包封裝入操作系統(tǒng)。這里重點(diǎn)介紹一下系統(tǒng)中幾個(gè)配置文件的具體修改情況。

              (1) 在Platform.bib文件中的Files部門(mén)加入以下代碼

            WindowsCE環(huán)境下無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝 

             其中,monitor.lnk為monitor.exe的鏈接程序(快捷方式),制作方法很簡(jiǎn)單,可以通過(guò)一個(gè)ASCII碼編輯器編寫(xiě),格式為:#20.exe。

              此配置文件中的代碼表示,將monitor.exe和monitor.lnk加載到名為NK的內(nèi)存區(qū)中(NK的定義在config.bib文件中的memory部分完成),文件的屬性為U(非壓縮文件),這樣就完成了把自己所開(kāi)發(fā)的應(yīng)用程序及其鏈接程序封裝進(jìn)操作系統(tǒng)中的“聲明”。

              (2) 在Platform.dat文件中加入以下代碼:

              Directory ("):-File("monitor.lnk",“.lnk”)

              由于Platform.bib做過(guò)聲明,這兩個(gè)文件在操作系統(tǒng)啟動(dòng)后會(huì)映射到目錄下,這是默認(rèn)的目錄。所以此外的代碼表示在Windows CE啟動(dòng)時(shí)會(huì)自動(dòng)運(yùn)行monitor.exe。

              做完了以上工作,再對(duì)操作系統(tǒng)進(jìn)行編譯,把應(yīng)用程序封裝到了Windows CE操作系統(tǒng)中,而且系統(tǒng)啟動(dòng)后會(huì)運(yùn)行此應(yīng)用程序,完成自動(dòng)安裝無(wú)線(xiàn)網(wǎng)卡的功能。

            tcp/ip相關(guān)文章:tcp/ip是什么



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

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉