Погрузить ATmega328 в очень глубокий сон и послушать последовательный порт?
Я изучил параметры сна ATmega328 и прочитал несколько статей о нем, и мне хотелось бы понять, есть ли еще параметры.
Поэтому я хотел бы получить как можно более низкий ток, так что все, что меньше 100 мкА, будет хорошо — при условии, что я смогу прослушивать UART и прерывания для пробуждения.
Я использую специальную печатную плату (не UNO) с ATmega328p.
Перевод чипа в режим глубокого сна:
set_sleep_mode (SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_cpu ();
не разбудит его с помощью последовательной связи, согласно этому.
Вам нужно будет перевести его в режим IDLE
, чтобы слушать последовательный порт, но это будет потреблять несколько мА - плохо.
Я нашел эту ссылку, по которой можно аппаратно подключить последовательный порт к прерыванию — это опасно, так как можно потерять данные, и, кроме того, мне нужны эти 2 контакта прерываний.
Я также прочитал эту статью Гэммона, в которой говорится, что можно отключить некоторые вещи, чтобы перейти в режим ожидания с гораздо меньшим энергопотреблением, но он не упомянул, как именно это достигается:
power_adc_disable();
power_spi_disable();
power_timer0_disable();
power_timer1_disable();
power_timer2_disable();
power_twi_disable();
Итак, в заключение, есть ли какой-либо вариант, позволяющий получить ток менее 0,25 мА, а также прослушивать последовательный порт без каких-либо манипуляций с оборудованием? Например, просыпаетесь с длинным последовательным вводом данных?
@Curnelious, 👍13
0
- Отправка последовательных данных в прерывании
- Как перевести ATtiny/ATmega в режим глубокого сна (чтобы годами работать от батарей), но при этом обнаруживать нажатие кнопки?
- Последовательная связь ESP8266 с ATMega328P
- Ардуино как ISP с serial monitor для ATmega328
- ATmega328P-PU: программатор не отвечает
- Почему SoftwareSerial не работает как надо на Arduino Pro Mini 3v3?
- SIM800L и Arduino Sleep — получение странного последовательного вывода после 5 вызовов
- Почему последовательная связь не работает на atmega168/328p?