【问题标题】:multi thread serial ports多线程串口
【发布时间】:2012-11-21 14:18:33
【问题描述】:

我正在尝试在串行端口中使用多线程。假设我有 X 串口。每个端口都有 Y 个设备(modbus)。我正在从每个设备中取出数据。要从设备中取出数据,我需要发送一条消息,然后等待响应。我想加快应用程序的速度,这就是为什么我想在其中使用多线程。

一个串口可以发送和等待多条消息吗?

问候
丹尼尔

【问题讨论】:

  • “多线程”似乎是一个错误的流行词。似乎您正在尝试 multiplex 或使用 multidropRS-485是一种串行协议,专为单个主设备设计,多个从设备连接到单个串行通信线路;每个设备都被称为“drop”,因此称为“multidrop”。 Modbus 显然也是一个多点协议。

标签: c# multithreading serial-port modbus


【解决方案1】:

不,不是。串行端口不会以这种方式组织数据。它只接收字节并允许您按顺序取出字节。尝试你的要求是行不通的。如果不是完全错误,您将得到乱码的串行端口数据。没有办法说“这些字节属于该消息”。

抱歉,这只是how they work的基本设计。

【讨论】:

  • 谢谢,至少我不会花更多的时间去弄明白:P
  • OP 提到了 Modbus,但您的回答似乎只关注 EIA/RS-232 而没有说明这种区别。 Modbus 与其他多点协议一样,使用可寻址数据包来确定接收者和发送者。
  • 是的,但是使用串行链接使得主站除了发送一个请求然后等待回复之外,无法做任何事情。
猜你喜欢
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多