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

Serial port 虚拟COM端口还是使用原始端点?,serial-port,usb,Serial Port,Usb,我正在用一个USB控制器和代码示例在微控制器中开发软件,以实现一个虚拟COM端口 实现它是一个来回传输数据的设备,我正在考虑使用2个批量端点,在我的计算机中使用libusb读取和写入数据 虚拟COM的优点是不需要libusb,因为它已经有了驱动程序,通信将通过与COM端口接口来完成(在本例中,仅限Linux) 在数据传输方面,什么是最快的?我知道这两种实现都将使用2个批量端点(虚拟com也使用中断,不确定我现在是否需要它)。即使使用虚拟com端口有效负载,传输速率是否可能与使用2个大容量端点(没

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

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

虚拟COM的优点是不需要libusb,因为它已经有了驱动程序,通信将通过与COM端口接口来完成(在本例中,仅限Linux)

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


您认为我在做出此决定时还遗漏了其他任何一点吗?

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

UART标准波特率见此

110、300、600、1200、2400、4800、9600、14400、19200、38400、57600、115200、230400、460800、921600,。。。高波特率有时会产生问题

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

大容量传输是以最大速度传输数据的最简单方法,可与大容量存储设备类一起使用

该设备将被识别为大容量存储器(普通驱动器,如U盘)

请参见此


如果您需要Atmel MCU的示例和源代码,请参阅LUFA库()或查看嵌入式操作系统,如Contiki OS。这些包括其他MCU的USB源代码,如MSP430,。。。此外

波特率可能会远高于115200,因为它只是从计算机传输到USB CDC ACM设备的任意数字。该设备可以使用该号码执行任何操作,例如忽略该号码。CDC ACM波特率对USB数据传输速度没有影响,对于全速USB设备,传输速度始终为12 Mbps。通过额外的仿真层,任何东西都不会更快。然而,你注意到这种差异的几率很低。串行端口模拟的明显优势在于,您可以使用几乎任何语言和任何库与设备对话。明显的缺点是,您必须发现端口号,并且不能很好地处理意外的设备删除。选择你的毒药。