Добрый день.
В Ардуино IDE подключением менеджера плат МеgаCore, организована поддержка микроконтроллера Атмега128.
В моем скетче есть участок входа микроконтроллера в сон. При попытки компиляции возникает ошибка указывающая на проблему с библиотекой <LowPower.h> . Смена версий среды Ардуино, а также подключаемых других библиотек энергосбережения не приводит к положительному результату. Это как мне кажется означает отсутствие поддержки библиотеками контроллера Атмега128.
Просьба, помогите как решить данную проблему.
Если отключить энергосберегающую библиотеку то Ардуино компилирует скетч и прошивает контроллер который выполняет проектируемую задачу.
[uquote="fktif7",url="/forum/viewtopic.php?p=4123016#p4123016"]...означает отсутствие поддержки библиотеками контроллера Атмега128...[/uquote]
Совершенно верно.
Решается задача написанием своей утилиты лапками.
Все оказалось просто и разжевано на сайте разработчика MegaCore.
в сон Атмега128 и несколько других контроллеров которые не поддерживает библиотека <LowPower.h>
входит так (проверил работает)
Выход из сна происходит разными методами, в основном по прерыванию(смотреть датшит) поэтому перед сном надо разрешить прерывания а после выхода запретить.
Заметил что при установки MegaCore в среду Ардуино IDE, необходимость в платах Ардуино отпадает, Достаточно к практическому любому микроконтроллеру подпаять кварц, и разъем для программатора или UART и из среды Ардуино IDE редактировать свой скетч, компилировать и прошивать микроконтроллер не задумываясь об фьюзах. Если применять для этих целей UART, то предварительно прошить программатором загрузчик в микроконтроллер из среды IDE
[uquote="fktif7",url="/forum/viewtopic.php?p=4123603#p4123603"]...
Заметил что при установки MegaCore в среду Ардуино IDE, необходимость в платах Ардуино отпадает, Достаточно к практическому любому микроконтроллеру подпаять кварц, и разъем для программатора или UART и из среды Ардуино IDE редактировать свой скетч, компилировать и прошивать микроконтроллер не задумываясь об фьюзах. Если применять для этих целей UART, то предварительно прошить программатором загрузчик в микроконтроллер из среды IDE[/uquote]
Ошибочное мнение.
1. В случае, когда из группы mcudude установлена только платформа MegaCore будут обслуживаться только МК из перечня данной платформы. (и те, что установлены "по умолчанию" или ранее дополнительно установлены).
2. Фузы в любом случае придется записывать для конкретной комбинации в списке настроек выбранного МК.
Только делается это через ардуиноISP программатор командой "записать бутлоадер" (даже если такового в платформе не предусмотрено). А уже после того можно и сам скотч загружать.
Самодельные платки ардуино на основе АВР в любом случае можно делать самостоятельно - это базовая особенность данной системы.
Однако для расширения номенклатуры МК потребуется добавлять соответствующие платформы, которые данные МК поддерживают.
Да я указывал только микроконтроллеры относящиеся к платформе MegaCore , но аналогично подключается платформа MiniCore, MightyCore и еще все Attiny и практически со средой IDE работает любая Атмега. В инструментах для выбранного MK устанавливаете фьюзы и заливайте загрузчик.
Не подскажете как заставить компилятор Ардуино организовать стек во внешней памяти по нужному адресу. То есть служебные байты таймеров, библиотек, прерываний и тд. должны быть там, а не в конце несчастных внутренних 4х килобайт. ДШ проца - позволяет.