虚拟COM端口还是使用原始端点?

时间:2016-07-04 19:13:13

标签: serial-port usb

我正在使用USB控制器和代码示例在微控制器中开发软件,以实现虚拟COM端口。

实现它是一个来回传输数据的设备,我正在考虑使用2个批量端点,在我的计算机中使用libusb来读写它们。

虚拟COM的优势在于不需要libusb,因为它已经存在驱动程序,并且通过与com端口的交互来完成通信(在这种情况下只是Linux)。

在数据传输方面,最快的是什么?我知道两者都是使用2个批量端点的实现(虚拟com也使用中断,不确定我现在是否需要它)。即使使用虚拟COM端口有效负载,是否有可能传输速率与使用2个批量端点实现某些内容相同,而没有USB类?

您认为我缺少任何其他观点来做出此决定?

1 个答案:

答案 0 :(得分:1)

要实现虚拟COM端口,您还必须使用USB类 USB CDC ACM

https://en.wikipedia.org/wiki/USB_communications_device_class

有关UART标准波特率https://electronics.stackexchange.com/questions/9264/what-standard-uart-rates-are-there

的信息,请参阅此信息

110,300,600,1200,2400,4800,9600,14400,19200,38400,57600,115200,230400,460800,921600,...... 高波特率有时会产生问题< / p>

使用USB CDC ACM时,设备将被识别为(虚拟)COM端口,可通过终端访问

批量转移是以最快速度传输数据的最简单方法,可与大容量存储设备类

一起使用

https://en.wikipedia.org/wiki/USB_mass_storage_device_class

设备将被识别为大容量存储(像USB记忆棒一样的普通驱动器)

请参阅 http://www.beyondlogic.org/usbnutshell/usb4.shtml#Bulk

如果您需要Atmel MCU的示例和源代码,请参阅 LUFA库http://www.fourwalledcubicle.com/LUFA.php)或查看嵌入式操作系统,例如 Contiki OS 。其中包括其他MCU的USB源代码,如MSP430,......还