【问题标题】:How do you simulate a serial device?你如何模拟串行设备?
【发布时间】:2011-01-06 21:50:52
【问题描述】:

我正在开发通过 C# 中的串行端口与设备通信的驱动程序。 我并不总是有可用的设备进行物理测试。有没有办法可以模拟串行端口上的设备,使其以理想的方式响应?

【问题讨论】:

    标签: c# serial-port emulation simulation


    【解决方案1】:

    获取第二个 COM 端口并使用 Null-modem 电缆连接 COM 端口,以允许两个 C# 程序相互通信。

    【讨论】:

      【解决方案2】:

      我用了一段时间Com0Com,写了一些模拟器/模拟器代码。

      【讨论】:

        【解决方案3】:

        什么样的司机?如果是串口驱动,那就比较麻烦了。

        但是,如果您的驱动程序是高于 Windows 设备驱动程序的应用程序级别,那么通过更改传递给 CreateFile 的字符串或该 C# 使用的任何层来替换 i/o 行为是相当容易的。

        == 更多 ==

        由于您使用 .net 库工具,因此这种技术可能太难受了。然而,这个想法是在某些时候替换你的代码说 open COM1: 或其他什么的地方。将其更改为具有模拟数据的文件,例如“c:/com1testdata.txt”。识别文件内容的暂停和/或响应的附加仿真代码可能对某些协议有用。根据您的要求,可以记录或忽略写入端口的数据。

        【讨论】:

        • 它是一个应用层驱动程序,我只是使用 .NET 串行工具在端口上发送和接收字符串...你能给我更多信息吗?
        【解决方案4】:

        在设计一些自定义硬件的团队中工作时,我使用了一个很棒的终端模拟器,名为ZTerm(我相信仅适用于 Mac)。它允许您编写响应脚本,使我能够在定制控制器芯片仍处于设计迭代阶段时按照我们预先商定的规范完成软件。

        【讨论】:

          【解决方案5】:

          如果您在 VM 中运行,则可以将东西附加到串行端口。例如,QEMU 允许您将虚拟串行端口附加到 TTY,然后您可以手动或与主机上运行的程序进行交互。

          【讨论】:

            猜你喜欢
            • 2010-12-12
            • 1970-01-01
            • 1970-01-01
            • 2017-12-14
            • 2010-12-27
            • 1970-01-01
            • 2010-10-13
            • 1970-01-01
            相关资源
            最近更新 更多