В 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