COM端口终端程序

时间:2010-01-29 10:09:51

标签: windows terminal embedded serial-port

我开发了一个嵌入式应用程序,它通过通信通道从设备请求状态信息。我的客户要求这些将在特定时间段内发送,所以我要找的是PC终端应用程序,它可以在一段时间内以设定的间隔重复发送文本字符串命令。我目前使用的是串口设备测试仪,可以在发送内容时立即发回设置字符串,但我需要控制时间段和重复次数。

是否有任何可以实现此目的的应用程序(适用于Windows)?

9 个答案:

答案 0 :(得分:8)

Docklight / Docklight Scripting 为了通过串口测试应用程序通信,它是最好的工具。 它在串行端口上侦听用户定义的序列,然后可以使用从脚本中的输入消息或函数派生的参数来触发传输。

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

Docklight绝对物超所值。

答案 1 :(得分: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(可从同一站点获得)结合使用。

答案 2 :(得分:5)

串行终端仿真应用程序Tera Term,有一种脚本语言,可以设置定时循环。

http://ttssh2.sourceforge.jp/

http://en.wikipedia.org/wiki/Tera_Term

答案 3 :(得分:4)

我使用的是RealTerm。您可以为它编写脚本并让它重复发送该文件。您可以在字符之间添加延迟或在行之间延迟。有时它有点儿马车,但它的价格很高(免费)。

http://realterm.sourceforge.net/

答案 4 :(得分:2)

虽然已经回答,我使用http://www.hw-group.com/products/hercules/index_de.html。他们的应用程序是免费的,在串口选项卡中,我可以从rs232发送和接收数据。就像一个魅力。

答案 5 :(得分:1)

ScriptCommunicator(开源,跨平台)是适合您的工具。它有许多功能和非常有用的脚本界面。

答案 6 :(得分:0)

您可以使用内置的Windows任务计划程序运行一个简单的批处理脚本,该脚本将文本写入com端口,有人认为

echo "Hell there" > COM1:  

但是我没有这样做是因为我的语法生锈了。否则你可以使用一个支持脚本编写的简单“termulator”程序 - 我认为在十年内我还没有这样做。

答案 7 :(得分:0)

我会编写一个C#程序来执行此操作。他们有库来打开COM端口和定时器,以便在何时发送数据。

答案 8 :(得分:0)

GModLab - 跨平台,可编写脚本(JS)的终端:https://github.com/tardigrade888/gmodlab 您可以编写可以执行任何操作的脚本。