1

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

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

现在,DUT 已连接并运行应用程序,它报告大多数时候在线上有垃圾。但是,它确实在某些尝试上起作用,这是非常不一致的。

我不明白从 Live USB 启动与 HDD 启动有何不同。

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

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

任何帮助深表感谢。

谢谢,

沙哈布

编辑

我查了一下dmesg,发现有区别

cdc_acm : failed to set dtr/rts在 Live USB 启动上。在另一种情况下看不到。类似于stackoverflow上的这个问题

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

4

1 回答 1

0

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

于 2016-11-01T11:40:47.047 回答