连接超过6台设备的串口是否存在约束?

ykc*_*ykc 5 hardware delphi serial-port

我有一个项目使用Rocketport Infinity 16端口从6个不同的风速计(风速测量设备)接收数据(RS422,50Hz,38.4k波特,每个记录47个字节).当我使用32Hz和9600波特时,一切都很好,但是,当我改为50Hz时,没有收到一些数据.我尝试使用USB而不是Rocketport Infinity而没有运气.

因此,除了风速计失败之外,我怀疑数据丢失的以下解释:

  1. 对于Rocketport Infinity,我打开了所有16个端口,但只连接了6个端口,我怀疑当切换到50Hz时,最大数据吞吐量会很高.

  2. IRQ开关速度太高,com端口无法正常运行.

还有其他可能的原因吗?如果我弄错了,请纠正我.

Receiver的开发环境:Windows XP Professional 32位版本的Delphi 6,带有CPort 3.1

Léo*_* 준영 1

串口连接超过6个设备有限制吗?

是的,有限制。我假设您有差分输出和带差分输入的 I/O 接收器。请参阅平衡差分信号。有可能超出接收器电路的最大额定电压。

每个端口速度必须与相应的设备速度匹配。请参阅必须匹配的其他标准。

IRQ 切换速度太高,导致 com 端口无法正常运行。

为什么您认为这是 IRQ 切换速度的问题?- 我想说你只有稀缺的IRQ 资源。