2

实现合适的时间延迟的一种可行方法是使用忙等待,但是使用忙等待或定时器中断方法编程的优缺点是什么?

4

3 回答 3

3

可能有很多,我会尝试解决对我来说最重要的问题。

忙等待的优点:

  • 执行流程通常更容易理解,因此更不容易出错。
  • 在某些情况下可以更准确地确定时间

缺点:

  • 不能执行其他代码(可能除了其他中断例程)。
  • CPU时间被浪费了:如果不需要处理其他工作,设置一些省电状态并让定时器中断及时唤醒它仍然更有效。
于 2016-01-12T20:23:26.400 回答
2

嵌入式设备中忙等待的一个缺点是功耗增加。在忙碌的等待中,处理器正在全力运行,消耗电力而没有结果。大多数低功耗处理器能够在等待定时器中断时使处理器进入睡眠状态,从而显着降低功耗。更低的功耗 = 更长的电池寿命。

于 2016-01-12T20:41:12.393 回答
2

除非您在应用程序中无事可做或需要立即处理结果(这种情况很少见),否则您不想忙于等待。它消耗了可以用来做其他事情或睡觉的周期。

一个简单的例子是假设你正在制作一个通过 UART 与 wifi 芯片通信的 wifi 恒温器。您的应用程序将需要读取和处理温度、在新数据可用时进行更新、发送 wifi 消息、接收 wifi 消息以及从按钮推送接收更新等等。如果您正忙于等待其中任何一个发生,那么您的恒温器将无法做任何其他事情,除非它被中断。

于 2016-01-12T20:42:48.027 回答