Программирование Arduino Micro через RX/TX

Я не могу получить доступ к программному порту USB моего Arduino Micro, когда он находится в моем проекте. Я хочу перенаправить контакты RX и TX снаружи на адаптер последовательного подключения к usb.

У меня есть это под рукой с недавнего времени. Я нашел контакты RX и TX в последовательном разъеме и подключил их к контактам RX и TX Arduino, а также GND, но когда я пытаюсь запрограммировать устройство, ничего не происходит. Обычно я получаю ошибку открытого порта или что-то в этом роде, но индикатор программирования на адаптере не загорается. И наоборот, если я попытаюсь использовать базовое программное обеспечение для штампов, я, по крайней мере, получу индикатор программирования, который загорится на адаптере.

Нужен ли мне вместо этого прорыв FTDI? Или я что-то не так подключаю?

, 👍2

Обсуждение

Ну, сигналы RS-232 несовместимы с логикой 5 В ttl Arduino., @goddland_16

чем устройство, о котором я упоминал, отличается от say и ftdi, за исключением другого разъема?, @Alex

Очевидно, что вам нужен другой декодер на стороне micro для преобразования RS-232 в обычный сигнал ttl., @goddland_16

Есть ли какие-либо условия для сброса или вы делаете это вручную во время загрузки?, @goddland_16

Да, я подключил сброс. Устройство на самом деле сбрасывается, и я вижу короткую вспышку светодиода программирования, но ничего не происходит. Это странно, потому что я могу запрограммировать базовую печать, просто подключив rx и TX. Я чувствую, что ваши утверждения должны выдерживать критику в том смысле, что arduino каким-то образом не может взаимодействовать., @Alex

Взгляните на это [ссылка](http://www.instructables.com/id/Overview-the-Arduino-sketch-uploading-process-and-/), @goddland_16

во-первых, загрузчик ATmega32U4 прослушивает только свой собственный USB, @Juraj


2 ответа


2

Логика RS-232 использует отрицательное напряжение, обычно от -3 до -25 В, для представления логического максимума, и положительное от + 3 до +25 В для представления низкого уровня. С другой стороны, TTL, используемый на ATmega, использует +5 В или +3,3 В в качестве максимума (или VCC) и 0 В в качестве минимума. Подробнее

Кроме того, сигналы логически одинаковы, поэтому все, что нужно, - это инвертировать RS232 с- / + ~12 В на 0-5 В с помощью простого преобразователя.

Возможно, самый простой подход-использовать в качестве программатора другой Arduino Uno, для которого требуется 3 вывода, TX, RX и СБРОС. Этот учебник, похоже, имеет некоторый успех. Ознакомьтесь с разделом "программирование Arduino с помощью другого".

,

Я бы сказал, что: плата ftdi->USB, плата Bluetooth или программатор ICSP намного проще, чем использовать еще один Arduino. (Bluetooth-это сложно, но оно того стоит, если вам не нравятся кабели)., @Paul


0

да, вы можете использовать USB FTDI 232 ДЛЯ ПОСЛЕДОВАТЕЛЬНОГО подключения, затем установите Arduino IDE на плату, которую вы будете программировать, и последовательный порт, на котором включен программатор FTDI RS232.

подключите два rx к tx и tx к rx, а также vcc программатора к контакту Arduino 5v.

затем нажмите и удерживайте кнопку сброса и загрузите "обычный".

Хитрость в том, чтобы отпустить СБРОС сразу после завершения компиляции, и он будет запрограммирован.

я думаю, что через 1-2 секунды после завершения компиляции строка компиляции просто стала зеленой.

Именно так работает беспроводной программатор с использованием модуля Bluetooth. Я попытался использовать контакт DTR для сброса, но у меня это не сработало.

,

это микро-so ATmega32U4 с встроенным USB. загрузчик не прослушивает сериал1, @Juraj