与科学仪器的串行通信
Posted
技术标签:
【中文标题】与科学仪器的串行通信【英文标题】: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 软件串行端口监视器),但仪器没有响应。我已经尝试了各种流量控制和奇偶校验设置,但仍然无法从仪器中得到响应。
我错过了什么吗?
【问题讨论】:
【参考方案1】:请研究 DTR 或 RTS 硬件流控制信号的状态,因为设备可能会控制它。
【讨论】:
另外,软件可能要求字符具有特定的字符间延迟时间。 当我打开硬件流控制 DTR 和 RTS 在打开仪器时显示为非活动状态。使用 XOn/XOff 流控制 DTR 和 RTS 处于“开启”状态。 尝试在发送数据时将 RTS 设置为“开启”,在等待回复时将其设置为“关闭”。 杰夫是正确的。我发现了一些字符间的延迟。 18 个空字符的字符串实际上是由 9 个空字符组成的两个字符串,它们之间有 40 毫秒的延迟。我将我的软件配置为以这种格式将琴弦发送到乐器,但我仍然没有得到乐器的回复。以上是关于与科学仪器的串行通信的主要内容,如果未能解决你的问题,请参考以下文章