COM端口终端程序

6
我开发了一个嵌入式应用程序,通过通信通道从设备请求状态信息。我的客户要求这些信息在特定时间段内发送,因此我正在寻找一款PC终端应用程序,可以按照设定的时间间隔重复发送文本字符串命令一段时间。目前,我使用串行设备测试器可以立即返回设置的字符串消息,但我需要控制时间间隔和重复次数。请问有没有任何(适用于 Windows 的)应用程序可以实现此功能?
8个回答

8

Docklight / Docklight Scripting用于测试串口通信应用程序,是完成工作的最佳工具。它在串口上监听用户定义的序列,然后可以触发一个传输并使用输入消息中的参数或脚本中的函数派生参数。

我编写了一个C++程序来测试嵌入式串行应用程序,大约有1000行代码。我能够用Docklight Scripting中的约20行vb脚本替换它。

Docklight绝对物有所值。


谢谢提供链接,看起来正是我需要的。 - droseman

6

我倾向于使用一个简短的Python脚本来实现这个功能(如果需要,可以用py2exe编译成可独立执行的文件)。安装PythonPySerial。然后使用如下的脚本:

#!/usr/bin/python
import time
import serial

# Interval in seconds
interval = 2.5

# Number of times to send
repetitions = 10

# Simple Command string
command_string = "Hello World"

# Or if it's a binary-type command:
command_bytes = [0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64]
command_string = "".join([chr(c) for c in command_bytes])

# Open the serial port - most of these settings have
# defaults in case you want to be lazy
ser = serial.Serial(
        port=0, # This is COM1, use 1 for COM2 etc
        baudrate=115200,
        parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,
        xonxoff=0,
        rtscts=0,
        timeout=0)

# Loop 'repetitions' times
for i in range(repetitions):
    # Send the string
    ser.write(command_string)
    # Go to sleep for "interval" seconds
    time.sleep(interval)

然而,如果你想要一款更传统的Windows应用程序,那么你可能可以使用Docklight,可能还需要与同一网站提供的Docklight Scripting结合使用。


5

这对我来说看起来是一个不错的解决方案(虽然还没有看过Docklight)。是否可以同时显示链接上的原始十六进制字符和ASCII文本? - droseman
不确定您是否可以在终端上以两种格式显示接收到的字符串/数据;但是您可能能够将接收到的行写入日志文件两次。 - simon

4
我使用RealTerm。您可以为其编写脚本,并使其重复发送该文件。您可以在字符之间添加延迟或在行之间添加延迟。它有时会有一些小问题,但是非常适合价格(免费)。 http://realterm.sourceforge.net/

另一个优秀的程序,谢谢 - 我认为这个程序更符合我的嵌入式工作。有一个问题,如果想要发送以CR LF结尾的字符串,带有一定延迟(在本例中为90毫秒)重复多次,该怎么做呢?看起来重复分隔符只是CR。 - droseman
创建一个包含你想要发送的字符(CR LF)的文件。你可能需要使用十六进制编辑器而不是文本编辑器来确保该文件中只有8位字符。接下来,在“发送”选项卡上选择刚刚创建的文件,并在“转储文件到端口”框架中进行设置。在文件名右侧,你会看到字符和行延迟的框。在它们下面是重复计数和重复延迟。 - mjh2007

3

ScriptCommunicator(开源、跨平台)是适合你的正确工具。它具有许多功能和非常有用的脚本接口。


超棒。功能最强大的程序。 - kyb

2

不错的工具。我之前用过它。 - kyb

0

0

您可以使用内置的Windows任务计划程序来运行一个简单的批处理脚本,将文本写入到类似于COM端口的某些地方。

echo "Hell there" > COM1:  

但我已经好几年没有做过这个了,所以我的语法有点生疏。否则,您可以使用一个支持脚本的简单“终端”程序 - 再次说明,我大约十年没有做过这个了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接