似乎无法从正在使用的com端口正确断开连接并结束生成的进程。我需要断开与COM端口的连接,然后重新连接。
# Read the COM port from the command line
if { $argc >= 1 } {
set file [lindex $::argv 0]
} else {
set file /dev/ttyUSB0
}
set fh [open $file RDWR]
fconfigure $fh -mode "115200,n,8,1" -blocking 0 -buffering none -eofchar {}
spawn -open $fh -noecho
答案 0 :(得分:0)
要断开与串行端口的连接,您必须关闭该通道(因为这会转换为底层OS文件描述符的关闭)。因为您已将它附加到期望spawn_id(spawn
的结果),您必须关闭它。你这样做:
close -i $spawn_id
虽然如果你一次只生成一件东西,你可以:
close
您必须再次完成整个过程(open
,fconfigure
和spawn -open
)才能重新连接。你可能想把它重构成一个程序......
答案 1 :(得分:0)
问题是当我应该使用exec时,我正在使用“source”来运行我的其他tcl脚本。现在我可以让我的设备关闭,然后重新打开并再次通信。