有时,我会尝试调试启动速度非常快的(通常是串行)设备。
如果我让设备运行,我可以使用以下方法连接到它:
minicom -D /dev/ttyUSB0
然后,如果设备断开连接,minicom 将保持打开状态,直到重新连接。
即使设备尚未创建,是否有开关告诉 minicom 在这种“等待”状态下打开?
我试过了-o
(不要初始化。)
如果您最初只想捕获设备的所有输出,您可以使用:
tail -F /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
因为这将等到设备存在然后从中读取。如果设备消失并重新出现,它将勇敢地重新打开它。
您可以尝试创建一个fifo并使用 minicom 作为设备。然后,在循环中,等待真实设备出现,并在出现时打开并连接 fifo,例如使用socat。minicom 将不会看到重新打开。
mkfifo ~/myfifo
while sleep 1; do socat /dev/ttyUSB0,b19200,echo=0,raw ~/myfifo; done &
minicom -o -D ~/myfifo
Run Code Online (Sandbox Code Playgroud)
b19200
是设置速度的示例,如果不需要设置,您可以将其删除。