Спящий режим в Neoway - PullRequest
       27

Спящий режим в Neoway

0 голосов
/ 05 июля 2019

В Neoway N10 GSM модуль использую функции setTime, setALARM и sleep в нашем приложении. Используя функцию setALARM, я установил 1-минутное время пробуждения и вызывал функцию ожидания для непрерывной работы в течение каждой 1 минуты.

При первом запуске он входит в спящий режим и просыпается через 1 минуту. Но второй раз он входит в спящий режим и не просыпается. В чем может быть причина этой проблемы?

void RTC_Function(void)
{
    rtc_time.rtc_min=1;
    rtc_time.rtc_sec=0;
    Neoway_SetTime(&rtc_time); //set system time
    Neoway_SetAlarm(&rtc_time,2); //Set the alarm to triggered after 1 min
    Neoway_Sleep(NEOWAY_TRUE); //calling sleep mode
}

Для справки:

S32 Neoway_Sleep(NeowayBoolEnum is_sleep) - Включение или отключение спящего режима модуля, когда в спящем режиме энергопотребление модуля может быть уменьшено до 2 мА, если не происходит никаких SMS-сообщений, вызовов, GPRS-данных или прерывания.

is_sleep: NEOWAY_FALSE: отключить спящий режим, NEOWAY_TRUE: включить спящий режим

void Neoway_SetAlarm(NeowayRtcStruct * rtc_time,U8 condition) - Установите время и другие условия для активации тревоги.

rtc_time: время тревоги

condition: условие срабатывания, значения следующие

  • 0 отключить срабатывание сигнализации
  • 1 вызывает тревогу при достижении той же секунды.
  • 2 вызывает тревогу при достижении той же минуты и секунды.
  • 3 вызывает тревогу при достижении того же часа, минуты и секунды.
  • 4 вызывает тревогу при достижении того же дня, часа, минуты и секунды.
  • 6 вызывает тревогу при достижении того же месяца, дня, часа, минуты и секунды.
  • 7 вызывает тревогу при достижении того же года, месяца, дня, часа, минуты и секунды.

Ссылка на документацию - http://wless.ru/files/GSM/Neoway/N10/Neoway_N10_OpenCPU_API_Description_V1.0.pdf

...