Как запрограммировать Arduino pro mini, используя родной последовательный порт (на моей материнской плате)
Как я могу запрограммировать свой Pro Mini, используя собственный последовательный порт RS232 на моей материнской плате (также известный как com1).
Поиск в Google не очень помог, и быстрый поиск здесь по запросу "pro miniprogramming com1" не дал никаких результатов.
У меня уже есть модуль MAX232, подключенный между Pro Mini и ПК.
Я уже протестировал порт com1 на работоспособность, отправив данные на Arduino mega через порт USB-to-serial и передав их на com1.
Что удалось (по крайней мере, что-то вроде [получения случайного беспорядка между символами или полного отсутствия некоторых символов])
Я попробовал очевидный способ (т. е. выбрал pro mini в меню платы, затем выбрал порт com1 и нажал "Загрузить").
Но это только что привело к ошибке тайм-аута…
Насколько мне известно, возможности настроить программатор на простое последовательное соединение или что-то подобное не существует (ну, это возможно, но только если мы говорим о платах на базе STM32, таких как синяя таблетка).
@der bender, 👍0
Обсуждение2 ответа
Лучший ответ:
Чтобы загрузить шестнадцатеричный файл в Arduino через последовательный интерфейс, загрузчик должен быть активен. Загрузчик активен после сброса. Он ждет короткое время, если новое приложение загружено. Если нет, он переходит к существующему приложению.
Для сброса микроконтроллера на платах Arduino с независимым USB-чипом используется схема, подключенная к линии последовательного порта DTR.
На такой плате, как Pro Mini, нет ни чипа для USB, ни схемы автоматического сброса. Вы должны сбросить плату с помощью кнопки сброса прямо перед тем, как avrdude отправит шестнадцатеричный файл. avrdude пытается десять раз, поэтому у вас есть 10 шансов засечь время сразу после того, как вы нажмете кнопку «Загрузить».
Некоторые адаптеры USB-to-TTL-Serial (или адаптеры RS232) имеют линию DTR, и ее можно использовать для перезагрузки платы.
Или используйте прошивку ISP через заголовок ICSP с программатором или другой платой в качестве программатора.
мой модуль не предлагает эту строку. блин, ide не печатает, когда avrdude делает свои попытки оценить, когда нажимать кнопку. наверное, я просто попросил что-то, что отлично звучало в теории, но просто не работало на практике из-за какой-то незначительной детали..., @der bender
только что обнаружил, что он печатает с некоторым флагом, установленным в настройках, @der bender
не думаю, что я правильно выбрал время, но это помогает в том смысле, что я знаю, что просто хотел невозможного ... закрою эту тему, @der bender
Откройте IDE, выберите «Файл:Настройки» и включите параметр «Подробный вывод». Нажмите & Удерживайте Reset на Promini. Запустите загрузку. В конце компиляции вы увидите что-то вроде
Sketch использует 960 байт (2%) места для хранения программ. Максимальный размер – 32 256 байт.
Затем IDE попытается загрузить 3 раза.
Выполните сброс, когда увидите строку выше. Может потребоваться несколько попыток, чтобы установить правильное время выпуска.
- Как остановить SoftwareSerial от получения данных и повторно включить его в какой-то другой момент?
- Сторожевой таймер застрял в цикле перезапуска? (мигает зеленый светодиод)
- Отправка команд PUBX на плату GPS (Ublox NEO-6M) через SoftwareSerial
- Мусор последовательного монитора Arduino Pro Mini
- Почему SoftwareSerial не работает как надо на Arduino Pro Mini 3v3?
- avrdude: stk500_recv(): программатор не отвечает, arduino pro
- Отправка строки с Arduino на ESP8266 работает на UNO, но не на Pro Mini
- Arduino Pro Mini ATmega 328P: вывод мусора на последовательную консоль
пожалуйста, разбейте слово "сгусток" на отдельные предложения, @jsotola
вы должны перезагрузить плату в момент загрузки. чип USB на Uno или Mega выполняет сброс, @Juraj
Или подключите сигнал DTR (обработанный MAX232) через конденсатор емкостью 100 нФ к контакту RESET., @Majenko
@Majenko модуль не предлагает dtr внешнему миру и даже не предлагает второй канал ic …, @der bender
Тогда вам придется сделать ручной сброс в самый подходящий момент. Удачи., @Majenko
или можно определить собственный метод загрузки, как это делается с платами на основе stm32..., @der bender
альтернативой является прошивка ISP через заголовок ICSP с программатором или другой платой в качестве программатора., @Juraj