gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 15:13:16 26 4
gpt4 key购买 nike

我有一个使用 Rocketport Infinity 16 ports 的项目从6个不同的anemometers接收数据(风速测量设备)(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

最佳答案

IRQ 率并不是那么高,现代机器应该可以轻松跟上它。我怀疑真正的问题是您的应用程序处理接收到的字节的速度不够快。特别是当您的代码还在接收数据的同一线程中更新 UI 时。

很难给出具体的故障排除提示,因为您既没有指定语言也没有指定操作系统。但一定要确保错误处理正确。区分缓冲区溢出(应用程序读取速度不够快)和字符缓冲区溢出(驱动程序读取速度不够快)。在 Windows 上,这是 CE_RXOVER 和 CE_OVERRUN。

关于delphi - 串口连接超过6个设备有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com