新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何編寫Windows CE.net的usb驅動程序(2)

        如何編寫Windows CE.net的usb驅動程序(2)

        作者: 時間:2012-05-02 來源:網絡 收藏

        if(SubmitInterrupt())

        {

        while(!m_fClosing)

        {

        WaitForSingleObject(m_hEvent,INFINITE);

        if(m_fClosing)

        break;

        if((*m_lpUsbFuncs->lpIsTransferComplete)(m_hInterruptTransfer))

        {

        if(!HandleInterrupt())

        break;

        }

        else

        {

        RETAILMSG(1,(TEXT(!USBMouse:Eventsignalled,buttransfernotcompletern)));

        //Theonlytimethisshouldhappenisifwegetanerroronthetransfer

        ASSERT(m_fClosing||(m_hInterruptTransfer==NULL));

        break;

        }

        }

        }

        RETAILMSG(1,(TEXT(USBMouse:Workerthreadexitingrn)));

        return(0);

        }

        看到了沒有,其實USB的就這么簡單,類似的其他設備,例如打印機設備,就有BulkOUTPIPE,需要Bulk傳輸,那就需要了解一下IssueBulkTransfer()的應用。當然如果是開發USBMassStorageDisk的驅動,那就需要了解更多的協議,例如Bulk-OnlyTransport協議等。

        微軟的CE.NET的PlatformBuild中已經帶有USBPrinter和USBMassStorageDisk的驅動的源代碼了,好好研究一下,你一定回受益非淺的。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 九江县| 南部县| 阿勒泰市| 田阳县| 集安市| 肥东县| 阳信县| 五指山市| 大英县| 通山县| 永安市| 泰兴市| 饶阳县| 若尔盖县| 盐亭县| 明溪县| 尼玛县| 蕉岭县| 沽源县| 乌苏市| 林甸县| 新竹市| 扬州市| 湖南省| 景谷| 浠水县| 绥德县| 安康市| 朝阳区| 基隆市| 洛浦县| 芮城县| 阿合奇县| 涞水县| 元江| 兴海县| 兰州市| 松滋市| 同江市| 刚察县| 嵩明县|