batch-file - 使用批处理文件从 COM 端口检索数据

标签 batch-file serial-port

我正在尝试使用批处理文件自动从 COM 端口检索数据。

我可以配置 com 端口并以其他方式发送命令以向我的设备询问信息。

问题是我无法捕获设备发送的数据。我尝试过使用 RealTerm,设备正在工作并将信息发送回电脑,但我确实需要批处理文件来自动执行此操作,代码如下:

echo off

MODE COMxx ...

COPY retrievecommand.txt \\\\.\COMxx:

COPY \\\\.\COMxx: data.txt

有什么建议吗?

最佳答案

使用 DOS GOTO 命令在递归循环中使用 TYPE 命令到 DOS LABEL。使用“附加输出”捕获文本,如 TYPE COM1:>>Data.txt 双 > 表示不断连接(或附加)到 Data.txt。单个 > 或“重定向输出”将在每个循环中替换 Data.txt 中的文本(如果端口上存在 com 数据)。添加重定向到监视器屏幕的第二行,以便您也可以观看事件(即 TYPE COM1:>CON [CON 表示控制台或监视器屏幕,但您可以省略它,因为控制台是默认的])

TYPE 命令不需要 Control-Z。它会不断地转储文本,直到运算符(operator)按下 Control-C,然后按下 Y 来打破循环。除非您完成了批处理文件,否则您实际上不需要停止循环。 Data.txt 文件将可供其他程序实时使用,并且如果您在此批处理文件仍在循环期间尝试使用其他程序(如 NOTEPAD.EXE)访问该文件,则不会出现“共享冲突”。

此外,如果您在批处理文件中创建第三行,显示 TYPE COM1:>Data1.txt [仅注意一个重定向],您将得到一行即时文本,该文本将在下一次迭代时消失。但有时,如果您只需要一行数据,这会很有帮助。有一些创造性的方法可以使用 DOS FIND 命令将一行数据提取到另一个文本文件。

关于batch-file - 使用批处理文件从 COM 端口检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572201/

相关文章:

excel - 解决 Excel 中生成的 .Bat 的 VBA 类型不匹配问题

batch-file - 如何在批处理文件中运行多个命令?

batch-file - 查找是否从注册表或文件系统安装了 Visual Studio 2010 SP1 (VC10) x64

使用 ProcessBuilder 构建的 Java 子进程丢失串口数据

c - Linux 多线程程序中的串口读取

linux - linux中串口PCM语音数据到声音设备的转换

c++ - 在 Windows 上使用 Clang 链接 SDL2 时出错 "LNK1561: entry point must be defined"

c - 用 C 从串口读取,ReadFile 可能有问题?

c# - function1 和 function2 是否以线程安全的方式使用我的串口类?

windows - 运行批处理文件,运行 PowerShell 文件,运行批处理文件...以管理员身份