999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
C#使用COM組件接口操作精簡ISA總線
英創(chuàng)信息技術(shù)有限公司
收藏本文     查看收藏

    英創(chuàng)ARM9工控主板的數(shù)據(jù)采集功能通常采用板上的GPIO實(shí)現(xiàn)數(shù)字輸入輸出、通過精簡ISA總線擴(kuò)展相應(yīng)的外部控制電路(如控制繼電器或AD或DA實(shí)現(xiàn)模擬數(shù)據(jù)的輸入輸出等)。由于英創(chuàng)ARM9嵌入式主板采用WinCE操作系統(tǒng),很多客戶都選擇了界面友好、開發(fā)便利的C#語言(使用Visual Studio 2005.NET集成開發(fā)環(huán)境);以往用戶在使用C#操作控制GPIO以及ISA總線的時(shí)候,是使用英創(chuàng)提供的動(dòng)態(tài)鏈接庫,采用傳統(tǒng)的DllImport方法,首先在程序開始的地方來進(jìn)行函數(shù)申明,然后才能在程序中進(jìn)行調(diào)用;而這個(gè)動(dòng)態(tài)鏈接庫里面函數(shù)的EntryPoint由于系統(tǒng)的原因,往往是一個(gè)古怪的名字,而且英創(chuàng)每次在進(jìn)行動(dòng)態(tài)鏈接庫的升級后,這個(gè)EntryPoint的名字就可能發(fā)生變化,這對用戶程序的可維護(hù)性帶來極大的不便。為了解決這個(gè)問題,英創(chuàng)公司現(xiàn)在提供了操作精簡ISA總線的COM組件接口;用戶只需要在目標(biāo)平臺上進(jìn)行組件注冊,然后在C#程序開發(fā)的時(shí)候,對該COM組件添加引用,即可在程序里面自由地通過對象操作來使用函數(shù),而不必反復(fù)費(fèi)心地進(jìn)行函數(shù)申明的工作。下面我們就以EM9000嵌入式主板為實(shí)例,在C#使用COM組件接口操作精簡ISA總線作一個(gè)說明:

一、在目標(biāo)嵌入式主板上進(jìn)行COM組件注冊

      ISA COM組件的核心文件就是英創(chuàng)提供的EM9000_ISA_API_COM.dll動(dòng)態(tài)鏈接庫文件,首先需要將它在目標(biāo)嵌入式工控主板上注冊。用戶可以使用Visual Studio Remote Tools提供的“遠(yuǎn)程文件查看器”連接目標(biāo)嵌入式工控主板,并將英創(chuàng)提供的EM9000_ISA_API_COM.dll和REGSVR32.exe這兩個(gè)文件下載到目標(biāo)主板的Flash存儲(chǔ)器上去(這里假設(shè)下載到EM9000的NandFlash)。然后在開發(fā)主機(jī)PC上使用Telnet連接目標(biāo)工控主板(如圖),進(jìn)入放置剛才下載這兩個(gè)文件的Flash存儲(chǔ)器目錄,運(yùn)行:

      REGSVR32 EM9000_ISA_API_COM.dll

      即可完成COM組件注冊。

二、在C#工程中添加COM組件引用

      接下來可以進(jìn)入C# COM組件開發(fā)。首先將EM9000_ISA_API_COM.dll文件復(fù)制到用戶的C#工程目錄下,然后在Visual Studio 2005.NET集成開發(fā)環(huán)境中打開用戶工程。為了使用ISA總線COM組件,必須為該工程添加外部引用;用戶可在集成開發(fā)環(huán)境的右側(cè)的“解決方案資源管理器”中找到“引用”,對其單擊鼠標(biāo)右鍵,然后單擊“添加引用”(如圖)。


 
      在彈出的“添加引用”對話框中,選擇“瀏覽”選項(xiàng)卡,并在你的工程目錄下找到你剛才復(fù)制過來的EM9000_ISA_API_COM.dll文件,選擇它,并單擊“確定”。

  這時(shí),你已經(jīng)完成了添加工程中的COM組件的引用工作,這時(shí),你可以在集成開發(fā)環(huán)境的右側(cè)的“解決方案資源管理器”中看到了一個(gè)名稱為EM9000_ISA_API_COMLib的引用,同時(shí),EM9000_ISA_API_COM.dll也加入到了你的工程中(如圖)。

三、在應(yīng)用程序開發(fā)中使用ISA COM組件

      首先,為了使應(yīng)用程序能直接調(diào)用相關(guān)的類和函數(shù),必須在程序的起始using語句中添加:

      using EM9000_ISA_API_COMLib;

      程序中對于ISA總線的操作完全圍繞EM9000_ISA_COMClass和EM9000_ISA_EX_COM這兩個(gè)類來進(jìn)行的。用戶可以根據(jù)自己對于ISA總線操作的需要來定義這兩個(gè)類的對象實(shí)體,然后通過對對象里面的方法(函數(shù))來進(jìn)行所需要的操作。EM9000_ISA_COMClass所定義的對象主要包括一些ISA總線擴(kuò)展(包括PWM、WatchDog等)的方法,EM9000_ISA_EX_COM所定義的對象主要包括一些將接口定義為GPIO的操作(如IO輸入輸出)方法。下面大致做一些講解:

      (1) 定義類的對象

EM9000_ISA_COMClass ISA_Port = new EM9000_ISA_COMClass(); //定義一個(gè)
                                                                                                    //M9000_ISA_COMClass對象
EM9000_ISA_EX_COM GPIO_Port = new EM9000_ISA_EX_COM();   //定義一個(gè)
                                                                                                    //EM9000_ISA_EX_COM對象


      (2) 使用對象的方法函數(shù)

      英創(chuàng)提供了一個(gè)ISA COM組件的方法函數(shù)列表,里面詳細(xì)羅列了各種方法函數(shù)的使用。由于該COM組件是用C++來編寫的,所以,這個(gè)列表里面的函數(shù)形式是以C++的方式來標(biāo)注的;由于C#和C++的相似性,所以大多數(shù)方法函數(shù)不需要在此提出特別注解,只需要針對幾個(gè)帶有C++指針參數(shù)的函數(shù)在此作一提示(舉例中所使用的類對象已經(jīng)在上文中定義):

      ·int COM_EM9000_PWMOUT( int ChIdx, float* pFreq, float* pDuty );

      這個(gè)操作PWM輸出的函數(shù),帶有兩個(gè)返回實(shí)際脈沖頻率和占空比的指針變量,在C#中,我們一般按照如下示例的方式來使用:

      int ChIdx = 0;
      float pFreq = 60.0f;   //脈沖頻率60KHz
      float pDuty = 70.0f;   //占空比70%
      int i1 = ISA_Port.COM_EM9000_PWMOUT(ChIdx, ref pFreq, ref pDuty);

      注意pFreq和pDuty由C++的指針變成了兩個(gè)ref變量,它們將返回實(shí)際脈沖頻率和占空比值。

      ·int COM_PIO_State( UINT16* pInValue );

      這個(gè)讀取GPIO輸入狀態(tài)的函數(shù),帶有一個(gè)返回輸入值的指針變量,我們是按照如下示例在進(jìn)行使用:

      ushort gpio_in_state = 0x0000;  //這是一個(gè)返回IO輸入狀態(tài)的值,初始化可以任意設(shè)置一個(gè)值
      i1 = GPIO_Port.COM_PIO_State(out gpio_in_state);

      注意gpio_in_state由C++的指針變成了一個(gè)out變量,它將返回實(shí)際GPIO輸入狀態(tài)。

      用戶還可以參考英創(chuàng)提供的C# ISA總線COM組件例程,進(jìn)行實(shí)際的應(yīng)用開發(fā)。


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 英創(chuàng)信息技術(shù)有限公司
聯(lián) 系 人: 李林
電  話: 028-86180660
傳  真: 028-85141028
地  址: 成都市高新區(qū)高朋大道5號博士創(chuàng)業(yè)園
郵  編: 610041
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
GPRS集抄單元整機(jī)方案
DOS工控主板的TCP/IP應(yīng)用
低成本LCD的選型與使用
ARM9工控主板支持?jǐn)帱c(diǎn)續(xù)傳的FTP文件傳送
嵌入式數(shù)據(jù)庫SQLCE的開發(fā)與應(yīng)用
基于精簡ISA總線的CE設(shè)備驅(qū)動(dòng)程序
工控主板EM9360的GPIO的各種使用方法
工控主板EM9000數(shù)字IO的增強(qiáng)擴(kuò)展
英創(chuàng)工控主板同時(shí)驅(qū)動(dòng)RS232和RS485的方法
ARM9工控板在遠(yuǎn)程監(jiān)控中的應(yīng)用
主板EM9161實(shí)現(xiàn)音頻輸出的方法
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會(huì)員
請留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved