【问题标题】:Monitor serial port already open监控串口已经打开
【发布时间】:2012-05-03 15:54:11
【问题描述】:

我正在尝试通过已经打开的串口读取数据。

我使用了 C# 和 c++ 库来使用 microsoft api(重叠和不重叠 I/O),但不起作用。

我可以使用相同的 windows api 吗?还是其他??

提前感谢您的光临,

克里斯蒂亚诺

http://bugbusters.altervista.org/index.php

【问题讨论】:

  • “已经打开”是什么意思?由另一个进程打开? Adn“不起作用”是什么意思?
  • 持有开放串口连接的人是吗?因为您无法在同一串行线路上打开 2 个连接。
  • 解释你说的不工作是什么意思。

标签: winapi serial-port


【解决方案1】:

Eltima 正是为此目的开发了一款软件。我用它作为调试工具。除了让您访问已建立链接上的流量之外,它还提供了许多用于记录和分析的功能。

http://www.virtualserialport.com/products/serialmonitor/

【讨论】:

    【解决方案2】:

    我假设当您想要对串行端口设备的协议进行反向工程时。

    如上所述,如果线路已经打开,这可能会很棘手,但可以通过几个额外的串行端口来完成。

    为了做到这一点,您需要在您的机器(或单独的 PC)上安装 2 个额外的串行端口,并用一根小电缆将两个端口连接在一起。

    所以你已经设置好了

    COM 1 - 通过一根小电缆(rx 到 tx 等)连接到 COM 2。
    COM 3 - 连接到串口设备。

    驱动串口设备的软件将被配置为 COM 1。

    电缆将所有通信从 COM 1 物理路由到 COM 2,然后您的软件将路由 COM 2 和 COM 3 之间的所有串行通信并记录其间的数据。

    如果您想对设备的串行协议进行反向工程,这是一种有用的技术。

    【讨论】:

    • 感谢您的回答。是的,你说得对,但我想学习如何使用 sw 监控串口。我使用了这个技术: 1) com0com:创建虚拟零调制解调器电缆的免费项目(我为过滤数据写了一点软件)。 2)Y电缆:您在答案中描述的硬件解决方案。现在我想超越。我需要了解如何使用 windows api 或其他通过 sw 监视串行端口。提前感谢您的到来,Cris bugbusters.altervista.org/index.php
    • 除了你提到的 com0com 选项,我真的无法提供任何进一步的解决方案,这里有一个讨论可能会有所帮助:stackoverflow.com/questions/915904/…
    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多