首页 > 解决方案 > COM 端口延迟的用处

问题描述

正如您在本教程中看到的,COM 端口的默认延迟计时器为 16 毫秒。
COM 端口延迟

但在大多数情况下,我们想要最小的延迟。

在互联网上,我们看到很多解释为什么这个值应该尽可能小,但从来没有选择大的值

那么为什么默认值是 16ms 而它可能是 1ms 呢?

标签: windowsserial-portuartbus

解决方案


以更大的块传输数据更节省 CPU。如果您有 1 毫秒的延迟,您的串行端口可能会导致每秒通过操作系统进行多达 1000 次传输(中断、下层处理程序、上下文切换、用户回调等)。使用 16 毫秒的延迟,您只需 60 次传输即可处理相同数量的数据,每次传输处理一个更大的块。

减少中断计数在现代多核系统上的用处远不如在单核上有用,在单核系统上,所有时间花在串行(或 USB)中断上意味着处理其他 I/O(如磁盘传输)的延迟。现在可以在多个内核之间分配工作,尽管低效的处理仍然对电池寿命等产生不良影响。


推荐阅读