[英]How can I make a custom USB device show up in Windows as a COM Port?
我開發了一個USB設備,通過簡單但專有的界面和一些自定義Linux驅動程序與linux通信。 我的目標是在沒有編寫Windows驅動程序的情況下將其移植到Windows。 我想要做的是找到一個開源或內置類驅動程序的Windows,看起來像Windows中的COM端口。 然后我將定制嵌入式軟件以匹配虛擬COM端口期望看到的協議和描述符。
我的想法是,我可以將我的設備插入Windows機器,並且會出現相對高速的COM端口,而我不得不為它開發Windows驅動程序。
我一直在看USB CDC(通信設備類)文檔,它看起來很有希望,但我不知道哪個子接口最好用,以便它顯示為COM端口。
這里有沒有人做過這樣的工作或者可以提供一些見解? 特別:
謝謝
Windows內置的USB轉串口驅動程序可以滿足您的需求。 它叫做usbser.sys:
http://support.microsoft.com/kb/837637
您將不得不編寫一個INF文件並將其分發給您的用戶,但這不會太難,因為它只有幾千字節的文本,您可以在線查找示例。
我不知道微軟為這個驅動程序提供了很好的文檔,所以我的建議是找到一些其他使用它的設備,比如Pololu Wixel ,並復制它們的功能。
以下是我們使用的設備描述符和我們必須實現的特殊控制傳輸: https : //github.com/pololu/wixel-sdk/blob/master/libraries/src/usb_cdc_acm/usb_cdc_acm.c
您可以通過下載軟件並查看驅動程序文件夾來查看我們的INF文件wixel_serial.inf: http : //www.pololu.com/docs/0J46/3.a (其中還有其他文件沒有必要為了你。)
您還可以查看Arduino Uno,因為它們使用相同的驅動程序。
無論您做什么,請不要在您的產品中使用我們的USB供應商ID! 你需要得到自己的。
更新:在Windows 10中,由於Windows附帶的新usbser.inf驅動程序,您不再需要INF文件。
如果您使用的是UART,您可以輕松地將其連接到FTDI USB芯片,如http://www.ftdichip.com/Products/ICs/FT232R.htm或像http://www.prolific.com.tw/這樣的Prolific 。英/ products.asp?ID = 59
對於開發,原型和測試,我在http://www.pololu.com/catalog/product/391中有大約六種
我將它直接連接到AVR和8051微處理器上的UART引腳。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.