windows - COM 端口延迟的用处
问题描述
正如您在本教程中看到的,COM 端口的默认延迟计时器为 16 毫秒。
COM 端口延迟
但在大多数情况下,我们想要最小的延迟。
在互联网上,我们看到很多解释为什么这个值应该尽可能小,但从来没有选择大的值。
那么为什么默认值是 16ms 而它可能是 1ms 呢?
解决方案
以更大的块传输数据更节省 CPU。如果您有 1 毫秒的延迟,您的串行端口可能会导致每秒通过操作系统进行多达 1000 次传输(中断、下层处理程序、上下文切换、用户回调等)。使用 16 毫秒的延迟,您只需 60 次传输即可处理相同数量的数据,每次传输处理一个更大的块。
减少中断计数在现代多核系统上的用处远不如在单核上有用,在单核系统上,所有时间花在串行(或 USB)中断上意味着处理其他 I/O(如磁盘传输)的延迟。现在可以在多个内核之间分配工作,尽管低效的处理仍然对电池寿命等产生不良影响。
推荐阅读
- javascript - Javascript, Redux thunk, synchronous / nested promises
- sql - 如何在 Sql 中从一个表到另一个表中获取项目的总和
- java - 如何从 Java 中的链表中删除特定值?
- android - 我无法停止服务开始获取最后一个位置
- big-o - O(n/2) 的更正式的复杂度是多少?
- python - 从 URL 列表中获取 Python BeautifulSoup 请求
- firebase - 如何修改 Firebase 存储规则
- mysql - 用于过滤 10+ 百万个值的 SQL 查询
- php - 时区列表理解
- r - 在 CMD 检查期间找不到函数“%>%”