Как спать Ардуино

12

Как вы программируете режим сна для вашего Arduino? Каковы хорошие методы для сна процессора, особенно если он работает от батареи, но просыпается только при необходимости?

littlebirdceo
источник

Ответы:

3

Имейте в виду, что в зависимости от вашего режима ожидания на вашем Arduino работает несколько источников прерываний. timer0 генерирует прерывание переполнения, которое будит ваше arduino примерно каждую миллисекунду, а uart будет генерировать прерывание каждый раз, когда появляется входящий символ. ... и, конечно, есть внешние прерывания на контактах 2 и 3, которые вы можете или не можете включить с помощью функции attachInterrupt.

когда происходит прерывание, ваш эскиз будет пробужден от сна, а после обслуживания прерывания он продолжит работу с того места, где он перешел в режим сна. Решение этой проблемы состоит в том, чтобы настроить ваш эскиз так, чтобы он каждый раз возвращался в спящий режим, если на самом деле не пришло время просыпаться.

user64
источник