Як ви програмуєте режим сну для свого Arduino? Спеціально для конструкцій, що працюють на батареях, які хороші методи для сну процесора, але прокидаючись лише в разі потреби?
Як ви програмуєте режим сну для свого Arduino? Спеціально для конструкцій, що працюють на батареях, які хороші методи для сну процесора, але прокидаючись лише в разі потреби?
Відповіді:
avr / sleep.h може мати те, що потрібно - документація знаходиться на веб- сайті http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
Є деякі застереження щодо того, як увімкнути процесор спати :)
Сподіваюсь, це допомагає.
майте на увазі, що залежно від режиму сну на вашому ардуїно працює кілька джерел перерв. timer0 генерує переповнення переповнення, яке буде будити ваш ардуїно приблизно кожні мілісекунди, і uart буде генерувати переривання щоразу, коли є вхідний символ. ... і, звичайно, є зовнішні переривання на штифтах 2 і 3, які ви можете або не могли ввімкнути за допомогою функції attachInterrupt.
коли відбувається перерва, ваш ескіз буде пробуджений від сну, а після його перерви він продовжить працювати з того місця, де він перейшов у сон. Вирішення цього полягає в тому, щоб налаштувати ескіз, щоб він міг спати щоразу через цикл, якщо справді не час прокидатися.
тут моя бібліотека сну arduino