簡體   English   中英

如何使自定義USB設備在Windows中顯示為COM端口?

[英]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端口。

這里有沒有人做過這樣的工作或者可以提供一些見解? 特別:

  1. 是否有“內置”到Windows的虛擬COM驅動程序,或者我需要第三方驅動程序。
  2. 我應該使用哪個CDC子類進行簡單的RS232仿真(不需要調制解調器AT命令等)
  3. 有沒有更好的選擇來做我想做的事情。

謝謝

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM