С этого все и начиналось , так и было , просто скопировал не то.
Добавлено after 10 minutes: Adrift, Помогло, но не очень теперь как встретит data_ptr ругается на него , так весь код надо "оборачивать в #pragma GCC diagnostic push"
Ребятки... А не посмотреть ли внимательно на то, какую размерность в IDE для RP2040 тот int имеет? Для АРМ и ESP32 там определённые отличия имеются - вычитывать их в описании платформ надобно...
Прежде чем пользоваться платформой для выбранного вида МК нужно обязательно ознакомиться с особенностями применения и схемотехникой этой платформы от ее разработчиков. Ссылки всегда указаны нв соответствующей вкладке менеджера плат. Тогда и вопросов многих избежать удастся.
Для каждой из платформ используются соответствующие компиляторы, выбранные разработчиками платформ. Изначально были АВРки, затем присоединили и другие МКсо своими средами разработки, максимально возможно обобщая результат работы для пользователя IDE . Но абсолютно одинаковыми сделать не всегда возможно. Так что учитываем эти нюансы.
Открываем менеджер плат у вкладки с описанием платформы в нижнем левом углу есть две синенькие ссылки вот на них и тыць... Переходим на странички с описаниями и схемами. Нюансов довольно много даже у платформ с АВРками. Второе - ищем того, кто с искомыми платформами уже работал. Да и сайт IDE посетить (раздел помощи) не помешает. "ввек живи - век учись"
Понадобилось мне экзотичный епром прочитать. Порылся в запасах, обнаружил ATMEGA16A в корпусе DIP40. Куча портов, внутренний гена - самое то! Прошивал его TLL866II и далеко не в первый раз. Поставил атмегу16 на монтажку, епром тоже, кучу проводов, запустил ардуино иде, сварганил простенькую читалку, зашил файл HEX программатором в атмегу16, но, как и положено, никаких признаков жизни схемы не увидел. Подцепил COM порт через конвертер и обнаружил, что иде его почему-то открыть никак не может. Ну не открывается порт и все тут. После танцев с бубнами заметил странность во фьюзах - вместо установленной в иде частоты 8 МГц по фьюзам стоит 1 МГц. Попробовал несколько раз - HEX стабильно ставит вместо 8 МГЦ 1 МГЦ. Ладно, плюнул поставил ручками фьюзы на 8 МГц, и, ура, порт заработал. Но почему-то только один раз, самый первый вызов Serial.Print работает. А уж когда драйвер SD подцепил МК на операции проверки наличия карты вообще завис. Никаких ошибок компиляции, виснет и всё.
Короче плюнул я на этого таракана атмегу16 и за полчаса сотворил нужное на макетной плате ATMEGA2560. Правильно ли я понимаю, что ARDUINO IDE 2.0 и выше - это уже не для ATMEGA16 и прочей допотопной экзотики?
Последний раз редактировалось ART_ME Сб янв 04, 2025 05:18:37, всего редактировалось 1 раз.
Вопрос не в IDE, а в "платформе" - для атмеги 16 надо через менеджер плат установить платформу Mighty Core от MCUdude (последняя версия 3.0.3) ссылка для странички на github.com: https://github.com/MCUdude/MightyCore Да еще и учитывать указанный на той страничке вариант раскладки выводов их аж три: MightyCore Standard pinout MightyCore Bobuino pinout и MightyCore Sanguino pinout
Термин "танцы в бубнами" означает, что всё, что надо было установить, было установлено, всё, что надо было учесть, было учтено и всё, что можно было опробовать, было опробовано.
Жаль... проверить возможности нет. меги 16й у меня нету, а 2-ю адурину не использую из-за громоздкости (лишь для "посмотреть на монстра" установлена)... Разве что рабочие лошадки 1.8.19 /1.8.9 в портабле режиме... СпойлерКстати... последняя версия платформ от MCUdude на "слабых" ПК (и ни флеш) весьма долго устанавливается - там полно мелких файлов... У меня для IDE 1.8.19 и этих 3.0.х до полутора-двух часов на каждую платформу проходило, пока полностью процесс записи на флешку завершался (портабле версия). А вот ежли "дернул" раньше времени - тогда возможны проблемы - может мусора понасыпаться (при индикации, что платформа корректно стала). Помогает "удалить" и заново установить, запасшись терпением... По фузам - Вероятен расчет на то, что установка делается на "пустой" кристалл - после "общего стирания" на стороннем софте (не на IDE). По крайней мере так со своими нанками/про-мини так поступаю, ежли совсем "очумевают" перед тем, как перепрошивку бутлоадера делать. Да и ошибки никто не отменял (в том числе и в библиотеках для "нестандартных" МК - мега 16 все таки "добавка") - все сначала проверять надо... Адуринка 2х относительно "классики"АВРок ничего особо нового не добавляет (в смысле ЯВУ питона или еще чего понавороченнее) - обычно версия аврдуде и/или GCC добавляется из последних, если то требуется (и то только локально в соответствии с версией установленной платформы и согласовано с комплектом бутлоадеров этой платформы). Относительно железа прошивайки... Выставляется только то, что в прописях IDE относительно указанной платформы имеется - настройки и перечень где-то в файликах платформы прилагаются - IDE их сама находит, а вот выбор желаемого железа за пользователем. Пользуюсь стандартным ардуиноISP (настройка на вкладке железка программаторов "arduino as ISP) - пока нареканий не имелось. За другие не ведаю... Там в списке разных вариантов под разные платформы весьма много - заблудиться можно. А вот TLL866II ни разу не встречался - может в том и проблема...
Окромя Serial.Print танцы с бубнами включали и игры со светодиодиками. К примеру (из реальной программы, которая когда-то очень давно писалась на ардуино иде 1.8 ) : digitalWrite(LED1, HIGH); if (SD.exists("epr.bin")) SD.remove("epr.bin"); digitalWrite(LED2, HIGH); и видим, что LED1 горит, а LED2 нет. И сиё наблюдается что при наличии epr.bin на карте, что нет. Пишем: digitalWrite(LED1, HIGH); SD.remove("epr.bin"); digitalWrite(LED2, HIGH); и видим, что горят оба светодиодика. Сугубо ИМХО: испортить только одну платформу для таких приколов недостаточно.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения