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++, так что, может быть, кто-то из вас сможет мне подсказать, в чем может быть проблема. Я рад любой помощи.
@Slev1n, 👍1
1 ответ
После дальнейшего исследования в Интернете выяснилось, что это ошибка, которая еще не исправлена. это обсуждалось ранее здесь и здесь.
Мое решение было зайти в "LowPower.cpp", прокрутить вниз до строк, где функции не объявлены, и я просто перекомментировал их. Теперь компиляция работает.
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора