【问题标题】:Serial communication with scientific instrument与科学仪器的串行通信
【发布时间】:2015-12-25 23:43:20
【问题描述】:

我有一台由运行 SCO Unix 的旧计算机控制的科学仪器。我想写一个Windows应用程序来控制仪器摆脱旧的Unix机器。

我已经能够监控 Unix PC 和仪器之间的串行通信,并确定了串行端口的设置(波特率、数据位、停止位等)。 PC 和仪器之间的初始通信是 PC 发送一串 18 个空 (00) 字符,仪器响应另一串空字符。

然后我将我的 Windows PC 直接连接到仪器并向仪器发送了 18 个空字符的字符串(使用 Eltima 软件串行端口监视器),但仪器没有响应。我已经尝试了各种流量控制和奇偶校验设置,但仍然无法从仪器中得到响应。

我错过了什么吗?

【问题讨论】:

    标签: serial-port serial-communication


    【解决方案1】:

    请研究 DTR 或 RTS 硬件流控制信号的状态,因为设备可能会控制它。

    【讨论】:

    • 另外,软件可能要求字符具有特定的字符间延迟时间。
    • 当我打开硬件流控制 DTR 和 RTS 在打开仪器时显示为非活动状态。使用 XOn/XOff 流控制 DTR 和 RTS 处于“开启”状态。
    • 尝试在发送数据时将 RTS 设置为“开启”,在等待回复时将其设置为“关闭”。
    • 杰夫是正确的。我发现了一些字符间的延迟。 18 个空字符的字符串实际上是由 9 个空字符组成的两个字符串,它们之间有 40 毫秒的延迟。我将我的软件配置为以这种格式将琴弦发送到乐器,但我仍然没有得到乐器的回复。
    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多