【问题标题】:Can't receive serial data in .net 2.0, using rs232 to rs485 converter无法在.net 2.0 中接收串行数据,使用 rs232 到 rs485 转换器
【发布时间】:2009-07-08 19:40:46
【问题描述】:

我已经使用the .Net 2.0 serialport class 完成了大量的 RS232 工作。直到今天,我从来没有遇到过麻烦。

我正在与使用 RS485 协议的公司硬件进行通信。我正在使用 B & B electronics 的 RS232 到 RS485 转换器设备。

我可以很好地发送数据,并看到它在另一端收到。但是,我的 data_received 事件永远不会触发,即使使用 BytesToRead 我也看不到任何返回。

ReadExisting 也是空的。

我们启动了 232Analyzer,我可以使用该应用程序发送和接收数据包。我假设这与 .Net 2.0 串行类有关。

有什么想法吗?

【问题讨论】:

    标签: .net serial-port


    【解决方案1】:

    事实证明(经过数小时的研究和尝试)设置如下:

    .DtrEnable = 真

    成功了。我以前从未使用过 DTR 属性,但无论是我正在使用的这台设备的问题,还是我缺少的其他东西 - 都做到了。

    我认为这可能会让其他人在以后头疼。

    【讨论】:

    • 您可能还需要“.RtsEnable = True”。
    • 很可能设备确实需要启用 DTR。 DTR(数据终端就绪)通常用于此目的,因为它通知任何连接的设备,它已经准备好了!如果设备本身打开了到 DTR 的互补线路,即 DSR(数据集就绪)来通知它连接到什么,它本身已经准备好,我不会感到惊讶。
    【解决方案2】:

    众所周知,2.0 和 3.5 中的串口代码非常脆弱。

    四处寻找,您会发现一些已知问题 - 也许this one 与您的症状相符?

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多