Arduino MEGA2560 пробуждение с помощью DS3231 RTC

Я пытаюсь перевести Arduino MEGA 2560 R3 в спящий режим и разбудить его с помощью RTC DS3231 через прерывание. Я следовал этому руководству: Учебное пособие

Одной из включенных библиотек является библиотека "LowPower", вы можете найти ее здесь на GitHub. Она выдает следующую ошибку при компиляции:

C:\XX\Arduino\libraries\Low-Power-master\LowPower.cpp: In member function 'void LowPowerClass::idle(period_t, adc_t, timer5_t, timer4_t, timer3_t, timer2_t, timer1_t, timer0_t, spi_t, usart3_t, usart2_t, usart1_t, usart0_t, twi_t)':

C:\XX\Arduino\libraries\Low-Power-master\LowPower.cpp:562:49: error: 'power_usart3_disable' was not declared in this scope

  if (usart3 == USART3_OFF) power_usart3_disable();

                                                 ^

C:\XX\Arduino\libraries\Low-Power-master\LowPower.cpp:597:48: error: 'power_usart3_enable' was not declared in this scope

  if (usart3 == USART3_OFF) power_usart3_enable();

                                                ^

exit status 1
Error while compiling for Arduino/Genuino Mega or Mega 2560.

Я не понимаю, почему в библиотеке должны быть какие-то функции, которые не объявлены... Это значит, что никто не сможет их использовать?! Я не эксперт в C++, так что, может быть, кто-то из вас сможет мне подсказать, в чем может быть проблема. Я рад любой помощи.

, 👍1


1 ответ


1

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

Мое решение было зайти в "LowPower.cpp", прокрутить вниз до строк, где функции не объявлены, и я просто перекомментировал их. Теперь компиляция работает.

,