新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VC的USB2.0數據采集系統設計

        基于VC的USB2.0數據采集系統設計

        作者: 時間:2011-11-18 來源:網絡 收藏
        3客戶應用軟件

        本文引用地址:http://www.104case.com/article/150051.htm

          開發應用軟件的底層,需要極好的兼容性和穩定性。對于廣大用戶而言,與的交互是通過應用程序實現的,因此,如何出運行效率高、界面友好、穩定性高的應用程序是至關重要的因素。。++是開發Windows應用程序的主流開發工具,充分利用它的面向對象特性的C++和功能強大的MFC來開發專業級的應用程序,MFC是一個強大的、擴展的C++類層次結構,它能使開發Windows應用程序變得更加容易,而且在整個Windows家族中都是兼容的。Lab-Windows/CVI是以ANSI c為核心的交互式虛擬儀器開發環境,它將功能強大的C語言與測控技術有機結合,具有靈活的交互式編程方法和豐富的庫函數。本就是采用Visual C++6.0和LabWindows/CV提供的Graph控件來開發應用程序的,應用程序的主要功能有:打開/關閉USB設備,檢測USB設備,實現向USB設備發送指定數量的數據。

          下面是各部分的一些代碼及說明:

          1)查找、打開USB設備

          

          2)線程(Thread)

          線程就是程序中單獨順序的流控制。線程是進程中的實體,一個進程可以擁有多個線程,一個線程必須有一個父進程。線程不擁有資源,只有運行必須的一些數據結構;它與父進程的其他線程共享該進程所擁有的全部資源。圖3是線程的狀態轉換圖。

          

        線程的狀態轉換圖

          線程被分為兩種:用戶界面線程和工作線程(又稱為后臺線程)。本程序主要使用工作線程來執行數據的讀寫操作等,它與用戶界面線程的區別是不用從CWinThread類派生來創建,對它來說最重要的是如何實現工作線程任務的運行控制函數。

          對于工作線程來說,啟動一個線程,首先需要編寫一個希望與應用程序的其余部分并行運行的函數,如Fun(),接著定義一個指向CWinThread對象的指針變量*pThread,調用AfxBeginThread(Fun,param,priori-ty)函數,返回值賦給pThread變量的同時啟動該線程執行上述Funl()函數,其中Fun是線程要運行的函數的名字,亦即控制函數的名字,param是準備傳送給線程函數Fun的任意32位值,priority是定義該線程的優先級別,是預定義的常數,可參考MSDN。

          本程序設計中的關鍵代碼如下:

          



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 佛教| 二连浩特市| 神池县| 克拉玛依市| 灌云县| 遂昌县| 房山区| 长岭县| 仁化县| 玛纳斯县| 周宁县| 汝州市| 白银市| 平定县| 大悟县| 汉寿县| 枣阳市| 宁陵县| 凤翔县| 拉萨市| 江永县| 北宁市| 阳高县| 汉中市| 丹棱县| 武冈市| 延津县| 莫力| 渝北区| 朝阳县| 江孜县| 额尔古纳市| 宜君县| 淮安市| 石阡县| 定日县| 东乡族自治县| 平远县| 师宗县| 聂荣县| 屯留县|