Использование сна и LowPower.h

Я пытаюсь настроить модуль низкого энергопотребления для конкретного случая, Я установил библиотеку низкого энергопотребления, но когда я использую линия

LowPower.powerDown (SlEEP_5S, ADC_OFF, BOD_OFF) ; 

Выдается ошибка о том, что «SLEEP» не был объявлен в области видимости. Есть какие-нибудь предложения по этому поводу? Нужно ли мне включать библиотеку для сна?

#include "LowPower.h"
  /// НЕ беспокойтесь о настройке и цикле, я все это определил.

Этот набор кода находится в

  void Loop()  
    ...
    else           
    {
       LowPower.powerDown (SLEEP_10S, ADC_OFF, BOD_OFF) ; 

, 👍0

Обсуждение

SlEEP_5S ... это должно быть SLEEP_5S ?, @Jaromanda X

Извини ! я тебя не понял, @kaushik

ты не видишь разницы между «SLEEP» и «SLEEP»?, @Jaromanda X

нет, я пробовал, не работает., @kaushik

я определил вместе с пакетом #include "LowPower.h" #define SlEEP_5S, это приводит меня к ошибке, которая ожидала первичного выражения перед ','token, @kaushik

Пустота вместо пустоты? Еще без if? У вашей программы сейчас будет гораздо больше проблем. Обратите внимание, что язык чувствителен к регистру., @Michel Keijzers

Я обновил ваш код, предполагая, что вы его набрали заново (поэтому изменили void/else., @Michel Keijzers


1 ответ


1

Нет 5- или 10-секундного сна. Вы не можете произвольно выбирать, как долго спать. Сторожевой таймер имеет только определенные периоды (определяемые путем деления тактового сигнала на заданное значение), в течение которых он может спать:

enum period_t
{
    SLEEP_15MS,
    SLEEP_30MS,
    SLEEP_60MS,
    SLEEP_120MS,
    SLEEP_250MS,
    SLEEP_500MS,
    SLEEP_1S,
    SLEEP_2S,
    SLEEP_4S,
    SLEEP_8S,
    SLEEP_FOREVER
};

Чтобы поспать 5 секунд, вам нужно сначала поспать 4 секунды, затем проснуться, а затем поспать еще 1 секунду. В течение 10 секунд спите 8 секунд, а затем 2 секунды.

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

,