Чаще всего использую "третий вариант": компиляция до hex (и если возможно: без загрузчика), и запись: в последнее время: через вн. программатор: от ATtiny10 через АТmega1609 до ATmega2560. 3 клика мышкой. Дополнительно: возможность работы с: STM8, STM32, ESP32, ESP8266, Teensy, Raspberry ... Меняем хардуерную надстройку, меняем интерфейс записи (вкл. jtag2upd) и, если необходино: вкл. внешний USB/RX-TX на UART.
Олегыч1, да и другим начинающим хотя бы с начальными азами разобраться. Я бы рекомендовал учебник от Gyver https://alexgyver.ru/lessons/ и более детально книги от Jack Purdum (в сундуке КОТА должны быть). Да и прочих книж почитать (их и в сундуке в достатке). Ардуинка штука хитрая - кажется слишком простой в начале, а вот копнешь на практике - придется и в учебниках порыться.
Стандартное дополнение для связи(перепрошивки "стандартной") с ПК по СОМ порту. Может быть или в виде отдельной платки из ардуинового комплекта - те, что для работы с ардуино про-мини используются (четыре разновидности) или банальный вариант для работы с аппаратным СОМ портом в ПК
Просто в ардуино нано уже встроен этот модуль. Может как-то его можно задействовать для связи с внешним МК? Может как-то по линии RX, TX... В атмеге 8 есть эта линия на протах PD0, PD1.
Легче купить готовую платку адаптера USB-UART из "сопутствующих модулей" ардуино. Наиболее удобен адаптер на базе FT232RL (она же "конвертор USB-UART Piranha", она же YP-05 она же "модуль FTDI 232"). Помимо того еще есть адаптеры на CH340G (аналогична установленной на нанке) PL-2303HX CP2102 Удобство такого адаптера в том, что один адаптер можно использовать во многих конструкциях. Прямое их назначение работа с ардуино про-мини и подобным платками и/или в самоделках. Зачем нанку то курочить?
Нет-нет, не курочить не в коем случае. Ну максимум подпаяться к соответствующим пинам конвертера если они на платку не выведены. Ну к примеру если есть такой переходник, у него выведено питание, Rx, и Tx, как законнектиться с внешним МК (атмега 8 ) ? На атмега 8 подать питание, и к выводам 2, и 3? Rx переходника в Tx МК (3 вывод Атмеги), а Tx переходника в Rx МК (2 вывод атмеги), все верно? Если предварительно во внешний МК записан загрузчик, то выводы 2 и 3 МК будут соответствующим образом уже настроены?
---------- В схеме ардуино нано от FT232 задействован еще пин DTR#. На сколько он важен и нужен ли вообще?
Для понимания надо просто рассмотреть схему той же ардуино нанки с конвертором FTDI "на борту" (взято из документации на сайте ардуино https://www.arduino.cc/en/hardware)
veso74, Очень интересно. Это получается, что сигнал DTR# можно сымитировать самому, просто вовремя нажав на RESET на плате ардуино? BOB51, да, схемку подобную пересматривал уже, поэтому и возник вопрос. Кстати на Алике конвертеры USB to TTL некоторые идут без этого DTR#, значит в таких вариантах из Алика точно придется имитировать самому этот сигнал. А если сымитировать получится, то тогда плату ардуино нано можно вполне себе использовать как USB to TTL, да и вообще любой другой программатор (хоть даже и не AVR), лишь бы у него на борту были Rx и Tx... хотя могу ошибаться... Rx и Tx же могут передавать данные по какому-нибудь другому протоколу, например RS-485. Или тут без разницы, принцип один и тот же? PS: Прошу прощения за свои назойливые вопросы Понимаю, что можно все отыскать в книгах и в открытом доступе, но очень интересно все же пообщаться со знающими людьми.
При попытке использовать конвертор нанки для другой платки придется дорожки резать. Дабы от атмеги помех не было... А оно надо? У платок на основе FTDI FT232RL и CP2102 всегда имеется вывод сигнала DTR (и достаточное количество других для полного интерфейса). Да и конкретная схемотехника - это уже раздел иной темы (а не разбор вопросов с ардуино IDE).
На страничке Alex Gyver (https://alexgyver.ru/lessons/) появилась строчка "... PDF книга с уроками Текущая версия: v1.0. Можно скачать с Яндекс.диска ..." собственно для тех, у кого ХР (со старых компов сайт не всегда открыть можно) конкретно ссыль на книжу https://disk.yandex.ru/i/LGrvqF370i4cBg итогом имеем оффлайн учебник с возможностью распечатки на бумажных листочках.
Это получается, что сигнал DTR# можно сымитировать самому, просто вовремя нажав на RESET на плате ардуино?
Вы хотите посоревноваться с компьютером в быстродействии?! Там, вообще-то 16 мГц, то есть 16 миллионов операций каждую секунду. А ваша реакция на уровне 0.1 сек, процессор за это время успеет выполнить 1.6 миллиона операций. Я пытался соревноваться с таким процессором, у меня ничего не получилось.
Цитата:
конвертеры USB to TTL некоторые идут без этого DTR#, значит в таких вариантах из Алика точно придется имитировать самому этот сигнал.
Не проще ли кинуть всего одну проводюльку? Ну, может, ещё конденсатор придётся установить. В моём случае не пришлось, одной проводюльки оказалось достаточно, зато более никаких соревнований.
Eats, тогда не пойму, почему вот в этом видео тогда все с первого раза всегда получается? Спойлерhttps://www.youtube.com/watch?v=9ELhQP3U23Q Подобного рода видосов я нашел штуки три минимум. И даже где ардуинка шьет ардуинку по UART безо всяких DTR#. Просто в момент загрузки прошивки кратковременно жмут RESET. Почему в моем случае так нельзя сделать?
BOB51, сегодня обязательно попробую. Но вопросы мои до конца еще не исчерпаны Очередной вопрос (надеюсь не надоел еще? ) Подскажите пожалуйста, к примеру, есть скетч, созданный кем-то для заливки на определенный борд (например на ардуино нано) - все прекрасно компилируется и заливается. Но мне нужно этот же скетч залить в другой борд. Я выбираю свой (minicore Atmega 8 ) с заранее залитым туда бутлодером. И когда в скетче жму компилировать, то на определенном этапе возникает ошибка. Я конечно же понимаю, что библиотеки, использовавшиеся для другого борда не подходят к моему. 1) Как тогда понять, поддерживает ли определенная библиотека мой борд (в моем случае mini core Atmega8) ? 2) Реально ли этот скетч подправить для моего борда? Или нужно заново создавать с его с нуля? ---------- И еще, я тут в этой статейке Спойлерhttps://www.radiokot.ru/artfiles/6391/ немного испугался, поняв сложности записи правильного загрузчика в правильное место, еще и в свой конкретный МК, и еще для каждого случая правильно выставленные фьюзы должны быть... Но я правильно понимаю, что благодаря среде IDE я избавлен от всех этих трудностей? Просто выбираю свой борд и жму "записать загрузчик". И все фьюзы, размер бутлодера, его адрес, и прочие сложные моменты сами автоматом прописывыаются туда куда надо?
По вопросу "совместимости" платформ... У разных МК размеры ПЗУ и ОЗУ разные. Банально размер кода больше, чем размер ПЗУ может оказаться. Второе - прожка написана "за рамками стандартного " референса"" - автор может использовать особенности, присущие только имеющемуся у него МК. Ну и атмега8 совсем не то же самое, что и подгруппа атмеги 328й (атмега 48/88/168). Особо заметно, когда при создании программы используются "дополнительные приемы" за рамками "стандартного референса". Чтобы что-то подсказывать надо это " что-то " иметь представленое перед глазами. Да и не в теме ж про IDE разбор конкретной самоделки вести. Касательно бутлоадера и прочих "загрузочных заморочек" - я выше ссылку на электронную книжку от Alex Gyvr выкладывал - в той книже про то достаточно полно изложено. Рекомендую скачать и хорошо перечитать.
у меня на данном этапе пока конкретной самоделки нет. Это чуть позже... Сейчас просто пытаюсь изучить возможности среды IDE. Именно пробую выводить информацию на дисплейный модуль. Тип модуля SSD1306, размер 128х64 пикселя. Пробовал вот этот готовый скетч (прикрепил). Уточню: задача его залить в сторонний Мк - Атмега 8.
Изучать возможности лучше всего с "универсальным подопытным кроликом". В качестве такового вполне подходит обычная Ардуино нано. А уж потом можно и к самодельным платкам переходить (ту же атмегу8 или тиньки 13 и 2313 и/или чего еще). С современными дисплеями я особо не работал - максимум двустрочники вида хх160у. В большинстве случаев "семисегментники" различных типов. Для самоделки вполне достаточно. А более навороченные экраны - это уже "на потом" - ибо изучение их начинки и возможностей это отдельная тема, порой не меньшая, чем изучение самих МК. Да и самостоятельно написать прожку, а не пользоваться чужими (и почти всегда избыточно-громоздкими) библиотеками не требуется - это плюс как на стадии обучения, так и при работе с проектами "малоресурсных" МК.
Скетч использует 12482 байт (38%) памяти устройства. Всего доступно 32256 байт. Глобальные переменные используют 239 байт (11%) динамической памяти, оставляя 1809 байт для локальных переменных. Максимум: 2048 байт.
- ATmega328A: 32KBytes of In-System Self-Programmable Flash program memory, 1KBytes EEPROM, ̶2KBytes Internal SRAM - ATmega8A: 8Kbytes of In-System Self-programmable Flash program memory, 512Bytes EEPROM, 1Kbyte Internal SRAM
Вам нужны ... ~1,5 микроконтроллера ATmega8A. Припаяйте два параллельно . Либо оптимизируйте. Либо пишите код "с нуля". (Но это, вероятно ... будет когда-нибудь ...).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения