【问题标题】:How to test serial / Hyperterminal integration with C#?如何测试与 C# 的串行/超级终端集成?
【发布时间】:2012-10-02 20:36:28
【问题描述】:

我必须为 USB 秤开发软件,当您按下它上的按钮时,它会通过 USB 发送串行通信。我可以在超级终端中看到这些值。

我将使用 .NET 类进行串行通信来捕获数据。

问题是,我没有秤。秤连接到我可以 RDP 进入的远程计算机。当我想测试时,我可以要求客户按下秤上的按钮。

我不能要求客户每天按下按钮 100 次,我需要有一种方法来开发,对秤会报告的内容有相当好的了解,并且只有在我认为我有解决方案时才进行测试。

我正在本地寻找可以模仿比例并发送到我的 .NET Serial 类的东西,与比例相同的输出。理想情况下,如果我可以记录秤的数据,然后在另一台机器上播放,那就完美了。

我该怎么做?

【问题讨论】:

    标签: c# .net serial-port hyperterminal


    【解决方案1】:

    1) 抽象出你的通信代码。在测试模式下,从数据文件流而不是串行流中提供逻辑函数。

    2) 如果您有 2 个串行端口(或两个 pc),则设置一个通过一个端口进行通信的规模仿真器应用程序,并将其插入运行您的软件的另一个端口。

    【讨论】:

      【解决方案2】:

      如果你走串口仿真路线,看看com0com。我一直用它来伪造与实验室仪器的通信,而且效果很好。当您的笔记本电脑缺少串行端口时非常有用。

      【讨论】:

        【解决方案3】:

        你有两个问题:

        1. 测试您的 .NET Serial 类以验证它们可以处理通过串行端口接收数据(任何数据)
        2. 测试您的应用程序以验证它可以处理您从电子秤获得的特定类型的数据

        您可以通过将任何可以生成数据的东西(例如另一台带有超级终端的 PC)连接到您 PC 的本地串行端口来测试 1.。

        您可以测试 2. 通过(出于测试目的)将您的串行类替换为充当“串行类 + 规模”组合的“模拟对象”的软件(即,使用您的 API 输入到您的程序中)串行类将使用您希望从秤接收的数据)。

        您还可以通过以下方式测试 1 和 2:

        • 编写一个程序,通过发送秤将发送的数据类型来伪装成秤
        • 运行此程序以将数据输出串行端口
        • 使用 null 调制解调器 背靠背连接您的两个串行端口(以便从一个端口发送的数据被另一个端口接收到您的软件中)。

        【讨论】:

          猜你喜欢
          • 2012-01-16
          • 2018-06-26
          • 1970-01-01
          • 2015-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多