通过USB与LIVE USB启动进行串行通信

时间:2016-10-19 14:36:38

标签: linux boot usbserial fedora-21

该应用程序使用USB串行通信,当PC从HDD启动时工作正常。

我创建了一个工作操作系统的liveUSB映像(.iso)。 从包含.iso映像的USB驱动器启动相同的PC。

现在,DUT已连接并且应用程序已运行,大多数情况下会报告线路上的垃圾。但是,它确实在某些尝试中起作用,它非常不一致。

我无法理解Live USB的启动与HDD启动有何不同。

仅供参考,PC有Fedora Core 22和4.0.4 Linux内核。

串行通信:波特率为115200,有1个停止位。

非常感谢任何帮助。

谢谢,

流星

修改

我检查了dmesg并找到了区别,

Live USB启动时

cdc_acm : failed to set dtr/rts。在另一种情况下没有看到。与stackoverflow上的question类似。

另一个观察结果是,当连接设备和PC从Live USB记忆棒启动时,串行通信正常工作。如果拔下设备的USB电缆并重新插入,则会报告问题。

1 个答案:

答案 0 :(得分:0)

重新连接USB电缆后,您的串行端口号可能会增加,您将有一个死/ dev / ttyUSB0,可能还有一个新的工作/ dev / ttyUSBX。当您的应用程序保持/ dev / ttyUSB0打开时,在重新启动应用程序之前不会删除它。继续阅读旧的ttyUSB0,你就会得到垃圾。 第二个提示是,从实时启动时你可能只有一个只读文件系统,因此你无法在/ dev文件夹中创建任何新内容,因此新设备不会显示。