Arduino IDE в вопросах и ответах

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Arduino IDE в вопросах и ответах

Сообщение veso74 »

Чаще всего использую "третий вариант": компиляция до hex (и если возможно: без загрузчика), и запись: в последнее время: через вн. программатор: от ATtiny10 через АТmega1609 до ATmega2560. 3 клика мышкой. Дополнительно: возможность работы с: STM8, STM32, ESP32, ESP8266, Teensy, Raspberry ... Меняем хардуерную надстройку, меняем интерфейс записи (вкл. jtag2upd) и, если необходино: вкл. внешний USB/RX-TX на UART.

Сборник "быстрых" полезных ссылок:
MicroCore - ATtiny13
MiniCore - ATmega8, ATmega48, ATmega88, ATmega168, ATmega328
MightyCore - ATmega16, ATmega32, ATmega164, ATmega324, ATmega644, ATmega1284, ATmega8535
MegaCore - ATmega64, ATmega128, ATmega640 ...
MegaCoreX - ATmega4809, ATmega4808, ATmega3209, ATmega3208, ATmega1609, ATmega1608, ATmega809, ATmega808
ATTinyCore - ATtiny441, 841, ATtiny1634, ATtiny87, 167, ATtiny25, 45, 85, ATtiny24, 44, 84, ATtiny261, 461, 861 ...
megaTinyCore - ATtiny3227, 1627, 827, 427, ATtiny402, 202 ...
DxCore - AVR128DA28, AVR128DB64, AVR64DD14 ...

А благодаря надстройкам, Arduino IDE также "понимает" и код "чистого AVR".
Blink в Attiny13A:

Код: Выделить всё

#include <avr/io.h>
#include <avr/interrupt.h>

// ATtiny13A
//                  _____
// RESET/ADC0/PB5 -|  ^  |- VCC
//       ADC3/PB3 -|     |- PB2/ADC1
//       ADC2/PB4 -|     |- PB1
//            GND -|_____|- PB0

#define LED_PIN PB0

ISR(TIM0_OVF_vect) {
  PORTB ^= _BV(LED_PIN);            // toggle LED pin
}

int main(void) {
  DDRB = 0b00000001;                // set LED pin as OUTPUT
  PORTB = 0b00000000;               // set all pins to LOW
  TCCR0B |= _BV(CS02) | _BV(CS00);  // set prescaler to 1024 (CLK = 1200000Hz / 1024 / 256 = 4Hz, 0.25s)
  TIMSK0 |= _BV(TOIE0);             // enable Timer Overflow interrupt
  sei();
  while (1);
}
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Олегыч1, да и другим начинающим хотя бы с начальными азами разобраться.
8)
Я бы рекомендовал учебник от Gyver
https://alexgyver.ru/lessons/
и более детально книги от Jack Purdum (в сундуке КОТА должны быть).
Да и прочих книж почитать (их и в сундуке в достатке).
Ардуинка штука хитрая - кажется слишком простой в начале, а вот копнешь на практике - придется и в учебниках порыться.
:tea:
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

В моей самоделке увы пока нет переходника COM-TTL. Могу я в этой роли использовать ардуино нано? Что для этого нужно?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Стандартное дополнение для связи(перепрошивки "стандартной") с ПК по СОМ порту.
Может быть или в виде отдельной платки из ардуинового комплекта - те, что для работы с ардуино про-мини используются (четыре разновидности) или банальный вариант для работы с аппаратным СОМ портом в ПК
COM_TTL.pdf
(65.95 КБ) 75 скачиваний
чей-то img.radiokot.ru барахлит (постоянный сброс вместо открытия)... пришлось пдфину делать...
:(
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Просто в ардуино нано уже встроен этот модуль. Может как-то его можно задействовать для связи с внешним МК? Может как-то по линии RX, TX... В атмеге 8 есть эта линия на протах PD0, PD1.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Легче купить готовую платку адаптера USB-UART из "сопутствующих модулей" ардуино.
Наиболее удобен адаптер на базе FT232RL (она же "конвертор USB-UART Piranha", она же YP-05 она же "модуль FTDI 232").
Помимо того еще есть адаптеры на
CH340G (аналогична установленной на нанке)
PL-2303HX
CP2102
Удобство такого адаптера в том, что один адаптер можно использовать во многих конструкциях.
Прямое их назначение работа с ардуино про-мини и подобным платками и/или в самоделках.
Зачем нанку то курочить?
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Нет-нет, не курочить не в коем случае. Ну максимум подпаяться к соответствующим пинам конвертера если они на платку не выведены. Ну к примеру если есть такой переходник, у него выведено питание, Rx, и Tx, как законнектиться с внешним МК (атмега 8 ) ?
На атмега 8 подать питание, и к выводам 2, и 3? Rx переходника в Tx МК (3 вывод Атмеги), а Tx переходника в Rx МК (2 вывод атмеги), все верно? Если предварительно во внешний МК записан загрузчик, то выводы 2 и 3 МК будут соответствующим образом уже настроены?

---------------------------------------------------------
В схеме ардуино нано от FT232 задействован еще пин DTR#. На сколько он важен и нужен ли вообще?
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Arduino IDE в вопросах и ответах

Сообщение veso74 »

[uquote="Олегыч1",url="/forum/viewtopic.php?p=4512811#p4512811"]... На сколько он важен и нужен ли вообще?[/uquote]
Arduino Nano, https://arduino.ru/Hardware/ArduinoBoardNano, предпоследний абзац. В целом на сайте много информации, по 95% ваших вопросов.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Для понимания надо просто рассмотреть схему той же ардуино нанки с конвертором FTDI "на борту" (взято из документации на сайте ардуино
https://www.arduino.cc/en/hardware)
A000005-schematics.pdf
(97.54 КБ) 71 скачивание
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

veso74, Очень интересно. Это получается, что сигнал DTR# можно сымитировать самому, просто вовремя нажав на RESET на плате ардуино?
BOB51, да, схемку подобную пересматривал уже, поэтому и возник вопрос. Кстати на Алике конвертеры USB to TTL некоторые идут без этого DTR#, значит в таких вариантах из Алика точно придется имитировать самому этот сигнал. А если сымитировать получится, то тогда плату ардуино нано можно вполне себе использовать как USB to TTL, да и вообще любой другой программатор (хоть даже и не AVR), лишь бы у него на борту были Rx и Tx... хотя могу ошибаться... Rx и Tx же могут передавать данные по какому-нибудь другому протоколу, например RS-485. Или тут без разницы, принцип один и тот же?
PS: Прошу прощения за свои назойливые вопросы :oops: Понимаю, что можно все отыскать в книгах и в открытом доступе, но очень интересно все же пообщаться со знающими людьми. :beer:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

При попытке использовать конвертор нанки для другой платки придется дорожки резать.
Дабы от атмеги помех не было...
А оно надо?
У платок на основе FTDI FT232RL и CP2102 всегда имеется вывод сигнала DTR (и достаточное количество других для полного интерфейса).
Да и конкретная схемотехника - это уже раздел иной темы (а не разбор вопросов с ардуино IDE).
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

На страничке Alex Gyver (https://alexgyver.ru/lessons/) появилась строчка
"...
PDF книга с уроками
Текущая версия: v1.0. Можно скачать с Яндекс.диска
..."
собственно для тех, у кого ХР (со старых компов сайт не всегда открыть можно) конкретно ссыль на книжу
https://disk.yandex.ru/i/LGrvqF370i4cBg
итогом имеем оффлайн учебник с возможностью распечатки на бумажных листочках.
:hunger: :hunger: :hunger:
Аватара пользователя
Eats
Потрогал лапой паяльник
Сообщения: 309
Зарегистрирован: Сб фев 18, 2023 21:51:01
Откуда: Санкт-Петербург

Re: Arduino IDE в вопросах и ответах

Сообщение Eats »

[uquote="Олегыч1",url="/forum/viewtopic.php?p=4513213#p4513213"]Это получается, что сигнал DTR# можно сымитировать самому, просто вовремя нажав на RESET на плате ардуино?[/uquote]Вы хотите посоревноваться с компьютером в быстродействии?! Там, вообще-то 16 мГц, то есть 16 миллионов операций каждую секунду. А ваша реакция на уровне 0.1 сек, процессор за это время успеет выполнить 1.6 миллиона операций. Я пытался соревноваться с таким процессором, у меня ничего не получилось.
конвертеры USB to TTL некоторые идут без этого DTR#, значит в таких вариантах из Алика точно придется имитировать самому этот сигнал.
Не проще ли кинуть всего одну проводюльку? Ну, может, ещё конденсатор придётся установить. В моём случае не пришлось, одной проводюльки оказалось достаточно, зато более никаких соревнований.
Всего доброго.
Евгений.
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Eats, тогда не пойму, почему вот в этом видео тогда все с первого раза всегда получается?
Спойлерhttps://www.youtube.com/watch?v=9ELhQP3U23Q
Подобного рода видосов я нашел штуки три минимум. И даже где ардуинка шьет ардуинку по UART безо всяких DTR#. Просто в момент загрузки прошивки кратковременно жмут RESET. Почему в моем случае так нельзя сделать?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

"Всяких видео" в тырнете не есть истина - ибо "реклама двигатель....."
Проверять все самому надо.
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

BOB51, сегодня обязательно попробую. :beer: Но вопросы мои до конца еще не исчерпаны :) Очередной вопрос (надеюсь не надоел еще? :oops: ) Подскажите пожалуйста, к примеру, есть скетч, созданный кем-то для заливки на определенный борд (например на ардуино нано) - все прекрасно компилируется и заливается. Но мне нужно этот же скетч залить в другой борд. Я выбираю свой (minicore Atmega 8 ) с заранее залитым туда бутлодером. И когда в скетче жму компилировать, то на определенном этапе возникает ошибка. Я конечно же понимаю, что библиотеки, использовавшиеся для другого борда не подходят к моему.
1) Как тогда понять, поддерживает ли определенная библиотека мой борд (в моем случае mini core Atmega8) ?
2) Реально ли этот скетч подправить для моего борда? Или нужно заново создавать с его с нуля?
------------------------------------------------------------------------------------------------------------------------------
И еще, я тут в этой статейке
Спойлерhttps://www.radiokot.ru/artfiles/6391/
немного испугался, поняв сложности записи правильного загрузчика в правильное место, еще и в свой конкретный МК, и еще для каждого случая правильно выставленные фьюзы должны быть... Но я правильно понимаю, что благодаря среде IDE я избавлен от всех этих трудностей? Просто выбираю свой борд и жму "записать загрузчик". И все фьюзы, размер бутлодера, его адрес, и прочие сложные моменты сами автоматом прописывыаются туда куда надо?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

По вопросу "совместимости" платформ...
У разных МК размеры ПЗУ и ОЗУ разные.
Банально размер кода больше, чем размер ПЗУ может оказаться.
Второе - прожка написана "за рамками стандартного " референса"" - автор может использовать особенности, присущие только имеющемуся у него МК.
Ну и атмега8 совсем не то же самое, что и подгруппа атмеги 328й (атмега 48/88/168).
Особо заметно, когда при создании программы используются "дополнительные приемы" за рамками "стандартного референса".
8)
Чтобы что-то подсказывать надо это " что-то " иметь представленое перед глазами.
Да и не в теме ж про IDE разбор конкретной самоделки вести.
Касательно бутлоадера и прочих "загрузочных заморочек" - я выше ссылку на электронную книжку от Alex Gyvr выкладывал - в той книже про то достаточно полно изложено.
Рекомендую скачать и хорошо перечитать.
:beer:
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

у меня на данном этапе пока конкретной самоделки нет. Это чуть позже... Сейчас просто пытаюсь изучить возможности среды IDE. Именно пробую выводить информацию на дисплейный модуль. Тип модуля SSD1306, размер 128х64 пикселя. Пробовал вот этот готовый скетч (прикрепил).
Уточню: задача его залить в сторонний Мк - Атмега 8.
Вложения
OLED_128_64_I2C_U8GLIB.zip
(3.85 КБ) 47 скачиваний
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Изучать возможности лучше всего с "универсальным подопытным кроликом".
В качестве такового вполне подходит обычная Ардуино нано.
А уж потом можно и к самодельным платкам переходить (ту же атмегу8 или тиньки 13 и 2313 и/или чего еще).
С современными дисплеями я особо не работал - максимум двустрочники вида хх160у. В большинстве случаев "семисегментники" различных типов.
Для самоделки вполне достаточно.
А более навороченные экраны - это уже "на потом" - ибо изучение их начинки и возможностей это отдельная тема, порой не меньшая, чем изучение самих МК.
Да и самостоятельно написать прожку, а не пользоваться чужими (и почти всегда избыточно-громоздкими) библиотеками не требуется - это плюс как на стадии обучения, так и при работе с проектами "малоресурсных" МК.
8)
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Arduino IDE в вопросах и ответах

Сообщение veso74 »

Скетч использует 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. Припаяйте два параллельно :))).
Либо оптимизируйте. Либо пишите код "с нуля". (Но это, вероятно ... будет когда-нибудь ...).
Ответить

Вернуться в «Arduino»