| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Как войти в режим Sleep для атмега128 https://radiokot.ru/forum/viewtopic.php?f=66&t=179693 |
Страница 1 из 1 |
| Автор: | fktif7 [ Вт ноя 16, 2021 09:41:23 ] |
| Заголовок сообщения: | Как войти в режим Sleep для атмега128 |
Добрый день. В Ардуино IDE подключением менеджера плат МеgаCore, организована поддержка микроконтроллера Атмега128. В моем скетче есть участок входа микроконтроллера в сон. При попытки компиляции возникает ошибка указывающая на проблему с библиотекой <LowPower.h> . Смена версий среды Ардуино, а также подключаемых других библиотек энергосбережения не приводит к положительному результату. Это как мне кажется означает отсутствие поддержки библиотеками контроллера Атмега128. Просьба, помогите как решить данную проблему. Если отключить энергосберегающую библиотеку то Ардуино компилирует скетч и прошивает контроллер который выполняет проектируемую задачу. |
|
| Автор: | pyzhman [ Вт ноя 16, 2021 11:55:04 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
...означает отсутствие поддержки библиотеками контроллера Атмега128... Совершенно верно. Решается задача написанием своей утилиты лапками. |
|
| Автор: | fktif7 [ Вт ноя 16, 2021 12:27:14 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
pyzhman лапками для меня не понятно пока как. Я так же из Ижевска |
|
| Автор: | pyzhman [ Вт ноя 16, 2021 13:44:41 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
Раздел Power Management and Sleep Modes в даташите. |
|
| Автор: | fktif7 [ Вт ноя 16, 2021 22:35:18 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
Все оказалось просто и разжевано на сайте разработчика MegaCore. в сон Атмега128 и несколько других контроллеров которые не поддерживает библиотека <LowPower.h> входит так (проверил работает) void setup() { SleepMode(SLEEP_IDLE); // задаете один из 6 режимов сна, синтаксис обезателен //режим //SLEEP_IDLE //SLEEP_ADC //SLEEP_POWER_DOWN //SLEEP_POWER_SAVE //SLEEP_STANDBY //SLEEP_EXTENDED_STANDBY } void loop() { IF( переменная==истина) {sleep ();} else {noSleep ();} { Выход из сна происходит разными методами, в основном по прерыванию(смотреть датшит) поэтому перед сном надо разрешить прерывания а после выхода запретить. Заметил что при установки MegaCore в среду Ардуино IDE, необходимость в платах Ардуино отпадает, Достаточно к практическому любому микроконтроллеру подпаять кварц, и разъем для программатора или UART и из среды Ардуино IDE редактировать свой скетч, компилировать и прошивать микроконтроллер не задумываясь об фьюзах. Если применять для этих целей UART, то предварительно прошить программатором загрузчик в микроконтроллер из среды IDE |
|
| Автор: | BOB51 [ Ср ноя 17, 2021 09:23:06 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
... Заметил что при установки MegaCore в среду Ардуино IDE, необходимость в платах Ардуино отпадает, Достаточно к практическому любому микроконтроллеру подпаять кварц, и разъем для программатора или UART и из среды Ардуино IDE редактировать свой скетч, компилировать и прошивать микроконтроллер не задумываясь об фьюзах. Если применять для этих целей UART, то предварительно прошить программатором загрузчик в микроконтроллер из среды IDE Ошибочное мнение. 1. В случае, когда из группы mcudude установлена только платформа MegaCore будут обслуживаться только МК из перечня данной платформы. (и те, что установлены "по умолчанию" или ранее дополнительно установлены). 2. Фузы в любом случае придется записывать для конкретной комбинации в списке настроек выбранного МК. Только делается это через ардуиноISP программатор командой "записать бутлоадер" (даже если такового в платформе не предусмотрено). А уже после того можно и сам скотч загружать. Самодельные платки ардуино на основе АВР в любом случае можно делать самостоятельно - это базовая особенность данной системы. Однако для расширения номенклатуры МК потребуется добавлять соответствующие платформы, которые данные МК поддерживают. |
|
| Автор: | fktif7 [ Ср ноя 17, 2021 14:02:27 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
Да я указывал только микроконтроллеры относящиеся к платформе MegaCore , но аналогично подключается платформа MiniCore, MightyCore и еще все Attiny и практически со средой IDE работает любая Атмега. В инструментах для выбранного MK устанавливаете фьюзы и заливайте загрузчик. |
|
| Автор: | Ariadna-on-Line [ Вс дек 19, 2021 21:42:07 ] |
| Заголовок сообщения: | Re: Как войти в режим Sleep для атмега128 |
Не подскажете как заставить компилятор Ардуино организовать стек во внешней памяти по нужному адресу. То есть служебные байты таймеров, библиотек, прерываний и тд. должны быть там, а не в конце несчастных внутренних 4х килобайт. ДШ проца - позволяет. |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


