我有一个硬件测试设置,其中多达 255 个节点通过 USB 连接的虚拟 COM 端口向我的 Windows 系统发送跟踪消息。实际上,我使用了一个小的 Python 脚本,它在所有打开的串行端口上运行一个轮询循环,并执行一个零超时的 readline。读取的行与添加的 COM 端口源和时间戳一起打印到控制台。这几乎是实时的。但是您可以想象,CPU 使用率非常高。因此,我一直在寻找一种无需轮询即可并行实时监控所有 COM 端口的方法。
PySerial doc (look for nonblocking()
)说有类似选择界面的 POSIX,但仅在 UNIX 操作系统下。
有任何想法吗?