我正在尝试连接到串口并从文件中发送一系列命令。
首先,我通过以下方式联系:
PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N
E.g。我有一个名为commands.txt的文件,其中包含一系列我希望发送的串行命令。
我尝试了以下但是它无法工作:
PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N -m commands.txt
非常感谢任何帮助。
答案 0 :(得分:1)
试试这样:
for /f "delims=" %%a in ('type commands.txt') do PuTTY.exe -serial COM3 -sercfg 57600,8,n,1,N -m %%a
答案 1 :(得分:0)
我用来定期向设备发送命令的另一种解决方案是使用PuTTY和Autohotkey的组合。
对于初始设置,请配置PuTTY会话并保存。就我而言,我的名字是Oasis。
以下Autohotkey功能可以向已经打开的PuTTY会话发送命令。如果PuTTY未打开,它将启动已保存的会话。 oasis_putty_name()
是PuTTY窗口打开后的名称,它取决于所选的COM端口。 location_putty()
是PuTTY可执行文件的位置。这两个都可以硬编码,但我想保持变量与函数分开。
; Oasis Check --------------------------------------------------
oasis_check(){
putty_name := oasis_putty_name()
; Start PuTTY if it's not already running
IfWinNotExist, %putty_name%
{
putty := location_putty()
Run %putty% -load Oasis
Sleep,1000
}
; Format Time Stamp
FormatTime, TimeString,,yyyy-MM-dd HH-mm-ss
; Record Oasis Values
ControlSend, , %TimeString%{ENTER}, %putty_name%
Sleep, 2000
ControlSend, , all?{ENTER}, %putty_name%
}
执行频率可以使用其他Autohotkey脚本控制,或者在我的情况下使用Windows任务管理器控制。