【问题标题】:COM port terminal programCOM口终端程序
【发布时间】:2011-01-10 19:07:06
【问题描述】:

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

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

【问题讨论】:

    标签: windows terminal embedded serial-port


    【解决方案1】:

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

    【讨论】:

    • 超级。最实用的程序。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 不错的一个。我用了一段时间。
      【解决方案4】:

      我使用 RealTerm。您可以为其编写脚本并让它重复发送该文件。您可以添加字符之间的延迟或行之间的延迟。有时会有点小问题,但物有所值(免费)。

      http://realterm.sourceforge.net/

      【讨论】:

      • 又一个优秀的程序,谢谢——我认为这个与我的嵌入式工作更相关。一个问题,您如何多次发送以 CR LF 结尾的字符串,并且之间有特定的延迟(在本例中为 90 毫秒),看起来重复分隔符仅是 CR
      • 创建一个文件,其中包含您要在案例 CR LF 中发送的字符。您可能需要使用十六进制编辑器而不是文本编辑器来确保这些是文件中唯一的 8 位字符。接下来在发送选项卡上实际选择您刚刚在“将文件转储到端口”框架中创建的文件。在文件名的右侧,您将看到字符和行延迟框。在它们下方是重复计数和重复延迟。
      【解决方案5】:

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

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

      Docklight 绝对物有所值。

      【讨论】:

      • 感谢您的链接,这正是我所追求的
      【解决方案6】:

      串行终端仿真应用程序 Tera Term 具有能够设置定时循环的脚本语言。

      http://ttssh2.sourceforge.jp/

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

      【讨论】:

      • 这对我来说似乎是一个很好的解决方案(虽然还没有看过docklight)。是否可以在链接上同时显示原始十六进制字符和 ASCII 文本?
      • 不确定是否可以在终端上以两种格式显示接收到的字符串/数据;但您也许可以将收到的行两次写入日志文件。
      【解决方案7】:

      我倾向于实现一个简短的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 脚本(可从同一站点获得)结合使用。

      【讨论】:

        【解决方案8】:

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

        echo "Hell there" > COM1:  
        

        但是我还没有这样做,所以我的语法很生疏。否则你可以使用一个简单的支持脚本的“termulator”程序——我想我已经有十年没有这样做了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-21
          • 2013-03-21
          • 1970-01-01
          • 2012-10-06
          • 1970-01-01
          • 2017-02-10
          • 1970-01-01
          相关资源
          最近更新 更多