新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > C8051F340的USBXpress開發包USB通信設計

        C8051F340的USBXpress開發包USB通信設計

        作者: 時間:2010-08-09 來源:網絡 收藏

        _PwAttributes,BYTE型,用于供電配置。如果設備自己供電第6位置“1”,若為總線供電則為“O”。如果設備提供弱上拉作用,第5位置“l”,位0~4必須為“O”,位7必須為“1”。
        _bcdDevice,無符號int型,用BCD碼表示設備的版本號,如2.13版為Ox0213。
        (2)中斷函數
        設備端USB中API函數的功能,都在一個中斷模塊里面實現,為此必須提供一個中斷向量。其中,0x008B(Interrupt 17)是F34X設備的中斷向量。在main函數中,只有允許了USB中斷(調用USB Int Enable函數),才能進入中斷。一旦進入中斷服務程序,必須先獲得中斷標志(調用Get_Interrupt_Source函數,返回BYTE型中斷標志),后續操作根據獲得的中斷標志值與工具包自定義的中斷標志值判斷執行。自定義的中斷標志值主要有:USB_RESET(復位中斷)、TX_COMPLETE(發送完成中斷)、RX_COMPLETE(允許接收中斷)、DEVICEOPEN(設備實例在主機端打開)、DEVICE SUSPEND(延緩信號)等。
        中斷函數如下:

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

        在main函數中進行初始化之后,若中斷允許,通過函數Block_write來發送數據,發送數據的字節數不能超過4096。發送結束后將觸發中斷,從而進入中斷服務程序進行判斷操作。如果主機端向設備端的Buffer寫入數據完成,也將觸發中斷,判斷執行Block_Read操作將Buffer中的數據存入指定的存儲單元。
        發送數據的函數原型為:Block_write(數據存儲單元首地址,發送的字節數)。
        (3)主機端USB應用程序
        在VC++6.O編譯環境下開發主機端的USB應用程序,需要注意在編譯之前向工程中添加提供的SiUSBXp.dll、SiUSBXp.h和SiUSBXp.lib文件。
        為了能讓主機端識別USB設備并與之,在運行應用程序之前,要安裝主機端的驅動程序(已提供)。安裝了驅動程序,主機端才能識別USB設備,在設備管理器中可以找到USB設備的相關描述信息。
        對USB設備的描述信息,除了可以修改設備端發送過來的描述符之外,還可以修改在主機端驅動安裝目錄下*.inf文件中的信息。

        結語
        本文詳細介紹了USB通信的開發過程、電路和設備端的驅動,簡單說明了在主機端應用的條件設置。所有設計思路和方法都通過了實驗驗證,可以直接用于工程項目開發。通過此方法,程序員可以很容易地進行一系列USB通信應用的設計和編程。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 紫金县| 夏津县| 新邵县| 巴彦县| 布拖县| 县级市| 沽源县| 阿勒泰市| 绥江县| 岐山县| 淮滨县| 义马市| 宜春市| 阿勒泰市| 潮安县| 育儿| 荔波县| 申扎县| 庄河市| 六枝特区| 辉南县| 卢氏县| 甘洛县| 伊宁市| 利辛县| 绥宁县| 靖远县| 福海县| 任丘市| 沧州市| 子长县| 历史| 中超| 都兰县| 织金县| 河池市| 德安县| 沧源| 南宁市| 庆安县| 尼勒克县|