首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >介入者和波兰人

介入者和波兰人
EN

Stack Overflow用户
提问于 2012-06-07 10:18:44
回答 3查看 165关注 0票数 2

在我的申请中没有。设备(照相机、A/D、D/A等)与服务器通信。我有两种方法可以节省设备的耗电量,因为并非所有设备都必须始终工作:

做poling,即每个设备周期性地继续查看一个文件的内容,在那里它得到一个用于唤醒或睡眠的值。如果它发现了觉醒,那么它就会醒来并做好它的工作。

实际上,在这种情况下,设备将处于休眠状态,但驱动程序将处于活动状态并正在运行。

使用中断,我可以在需要时唤醒设备。

我无法决定该走哪条路,以及为什么。有人能在这方面给我一点启发吗?

平台: Windows 7,32位,运行于Intel Core2Duo

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-07 10:26:40

投票就其性质而言是不准确的。目标精度越高,轮询就越浪费。理想情况下,只有在不能处理中断时才考虑轮询;否则,应该首选使用中断。

这个规则的一个例外是,如果您想要“节流”某些东西,例如,当您可能得到几个事件每秒,但您想要反应只有一个事件每分钟。在这种情况下,您经常使用轮询和中断的组合,其中一个中断设置了一个标志,轮询完成了真正的工作,但只在设置了标志时。

票数 6
EN

Stack Overflow用户

发布于 2012-06-07 12:02:16

如果您的设备要周期性地被唤醒,我将以适当的频率进行轮询(这总是更容易设置,因为它只是看一点点)。如果清醒事件是异步的,我宁愿采用中断驱动的体系结构,尽管存在代码和电子开销。

票数 2
EN

Stack Overflow用户

发布于 2012-06-13 06:22:28

这取决于你的硬件和软件的结构和软件的复杂性。最好是选择中断机制而不是轮询机制。

在轮询中,您的控制器将连续地轮询硬件,以检查所需的值是否可用。

虽然使用中断机制将释放控制器执行其他任务,而当中断出现时,您的ISR可以根据特定的需要执行任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10929875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档