Atmel AVR 睡眠模式和睡眠使能位处理

Atmel AVR sleep mode and Sleep Enable bit handling

我想了解如何在基于事件的模型中对 avr 进行编程,它会对周围发生的事情做出反应。

阅读了我的芯片 (ATmega16a) 手册并进行了谷歌搜索后,我仍然找不到我的问题的确切答案。

我找到的两本 avr-libc 手册 http://www.atmel.com/webdoc/AVRLibcReferenceManual/group__avr__sleep.html and http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html 坚持建议在进入睡眠之前启用睡眠模式(设置 SE 位)并在之后禁用它(通过清除 SE)。这种位改组的目的是什么?为什么我不能在复位时只启用一次睡眠模式,然后在需要的地方执行 'sleep' 指令自由进入?

您可以在重置时只启用一次睡眠模式,然后自由进入睡眠。

通过清除 SE 位,您可以防止在需要的情况下休眠。