【问题标题】:Read Serial Reply After Write With C#使用 C# 编写后读取串行回复
【发布时间】:2023-03-23 19:05:01
【问题描述】:

是否可以在用 C# 发送命令后立即从串口读取回复?我有一个步进电机驱动程序,正在尝试读取当前步数并将其显示在我的 C# Windows 窗体程序的状态栏中,使用 .net 框架 4.0。为此,我需要发送“RC”命令。然后司机发回号码。我的问题是:如何在写入串口后立即读取串口回复?对此的任何帮助都会非常有帮助!

【问题讨论】:

    标签: .net visual-studio-2010 c#-4.0 serial-port


    【解决方案1】:

    是的,请致电ReadLine()

    但是有一个问题,串行端口速度非常慢。常见的波特率设置为 9600 波特,接收每个字符需要一毫秒。假设你得到 6 位数字,你正在查看 RC + lf + 000000 + lf + 控制器开销毫秒。你的程序在世界上已经死了至少 10 毫秒。相当于大约 2000 万个 cpu 周期。

    这是否是一个真正的问题完全取决于您的应用需要多少 CPU 周期。您可以通过使用线程来解决它,或者显式地使用只与控制器对话的线程,或者使用 DataReceived 事件。

    【讨论】:

      【解决方案2】:

      您可能希望使用包含流和缓冲区组合的 ReadExisting 方法。在不了解细节的情况下,我强烈建议您在此处查看 MSDN 文档

      SerialPort Class (System.IO.Ports)

      【讨论】:

        猜你喜欢
        • 2017-04-22
        • 1970-01-01
        • 1970-01-01
        • 2019-09-17
        • 1970-01-01
        • 2016-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多