Serial port 在来自tcl的COM端口中添加传输延迟

Serial port 在来自tcl的COM端口中添加传输延迟,serial-port,tcl,Serial Port,Tcl,如何在tcl脚本中为COM端口添加传输延迟 这是我们用来打开com端口的命令。如何设置延迟(msec/char) 如何在tcl下面标记的传输延迟部分将延迟添加到1msec/char 发送时,没有指定字符间延迟的功能作为串行端口硬件/设备驱动程序的规格。 有必要通过应用程序本身或介于应用程序和设备驱动程序之间的中间件/库来实现它。 如果是TCL,则按顺序调用和1字节写入,并按传输数据的长度循环。 就像这样,它有10毫秒的延迟。 proc SendCmd {channel command} {

如何在tcl脚本中为COM端口添加传输延迟

这是我们用来打开com端口的命令。如何设置延迟(msec/char)

如何在tcl下面标记的传输延迟部分将延迟添加到1msec/char


发送时,没有指定字符间延迟的功能作为串行端口硬件/设备驱动程序的规格。

有必要通过应用程序本身或介于应用程序和设备驱动程序之间的中间件/库来实现它。

如果是TCL,则按顺序调用和1字节写入,并按传输数据的长度循环。

就像这样,它有10毫秒的延迟。

proc SendCmd {channel command} {
   global output debug

   set letter_delay 10   
   set commandlen [string length $command]
   for {set i 0} {$i < $commandlen} {incr i} {   
      set letter [string index $command $i]
      after $letter_delay
      puts -nonewline $channel $letter
      if {$debug(dutConfig) == 1} {puts -nonewline $output "$letter"}
   }
   after $letter_delay   
   puts -nonewline $channel "\n"
   if {$debug(dutConfig) == 1} {puts $output ""}
   after 500
   flush $channel
}
proc SendCmd{channel command}{
全局输出调试
设置字母延迟10
set commandlen[字符串长度$command]
对于{set i 0}{$i<$commandlen}{incr i}{
设置字母[字符串索引$command$i]
延迟$letter_后
puts-非WLINE$频道$字母
如果{$debug(dutConfig)==1}{put-nonewline$output“$letter”}
}
延迟$letter_后
puts-nonewline$通道“\n”
如果{$debug(dutConfig)==1}{put$output”“}
500后
刷新$channel
}

这对应于的是哪个字段,或者我们只是在说“不要写太快的字节”?嗨,多纳尔,目前它写得太快了,我想延迟1毫秒/字符。配置端口时,如何从tcl执行此操作?fconfigure$::gComPort-mode$::gSerialPortSpeed,n,8,1-阻塞1-缓冲无-转换二进制-ttycontrol{BREAK 0}-握手无
proc SendCmd {channel command} {
   global output debug

   set letter_delay 10   
   set commandlen [string length $command]
   for {set i 0} {$i < $commandlen} {incr i} {   
      set letter [string index $command $i]
      after $letter_delay
      puts -nonewline $channel $letter
      if {$debug(dutConfig) == 1} {puts -nonewline $output "$letter"}
   }
   after $letter_delay   
   puts -nonewline $channel "\n"
   if {$debug(dutConfig) == 1} {puts $output ""}
   after 500
   flush $channel
}