Соединение двух Ардуино через UART
- Войдите на сайт для отправки комментариев
Сб, 01/04/2017 - 02:11
Здравствуйте, пытаюсь подключить между собой две ардуины UNO двумя проводками RX-TX, TX-RX, землю соединил, питание подал, так вот, при заливки скетчей IDE скетч не грузит, пишет что произошла ошибка загрузки скетча.Но вот если я отключаю эти два провода RX И TX , то загрузка происходит как положено до конца. И ещу, подключив библиотеку SoftwareSerial и назначив пины rx и tx любыми другими кроме 0 и 1 , то скетчи грузятся как положено. Но мне нужны эти другие пины, так как если я подключу какой то датчик на пины 0 и 1 то не смогу наблюдать информацию по команде SERIALPRINT в COM-порту.
Резисторы 1к между Rx Tx разных ардуин помогут решить проблему.
Резисторы, конечно, позволят загружать скетчи, но мне кажется, проблема не в этом, а в том, что ТС не понимает, что же ему на самом деле нужно.
gzp13, если Вам нужно получать информацию по Serial на компьютер, вообще забудьте про пины 0 и 1, считайте что их нет. Обходитесь какитми-то другими пинами. Тем более бессмысленно пытаться вешать программный порт на пины от аппаратного.
Задача такая, так как мне не хватает портов на одной ардуине, то хочу подключить вторую и часть датчиков( а именно модуль 24l01 ), и при получении информации от этого молуля передавать ее в главную ардуину для вывола на экран. Но чтобы отладить программу мне же нужно выводить информацию на экран компьютера, т.е грузить скетчи, врт я и хочу чтобы две ардуины были соеедены медду собой по проводам RX-TX, TX- RX, и обе ардуины были через USB подключены к компьютеру.
Выводить информацию не значит грузить скетчи. Это два разнесённых во времени процесса. Во время загрузки счетчей не работает ардуина. Она грузится программой.
Если нужно передавать информацию по одной линии, то самое дешёвое решение RS485. Платки и адаптер для компа стоят сущие копейки и по витой паре можно очень далеко передать.
врт я и хочу чтобы две ардуины были соеедены медду собой по проводам RX-TX, TX- RX, и обе ардуины были через USB подключены к компьютеру.
Это можно, но, надеюсь, Вы понимаете, что компьютер и вторая Ардуина должны быть подключены к разным портам? На UNO только один аппартный COM (пины 0 и 1) и он подключается к компьютеру, следовательно, Вам нужно осуществлять обмен между Ардуинами при помощи SoftwareSerial через свободные пины, а не те, что уже используются для связи с компьютером.
А если не хватает пинов, то, как правило, либо берут Мегу 2560 (Кстати, и аппаратных портов там гораздо больше.), либо используют те или иные расширители портов, например, на сдвиговом регистре.
Сколько времени дается после аппаратного сброса на определение "загрузка или работа" по коммуникационным линиям (выводы 0 и 1 ардуино нано) при автономном включении с загруженным прикладным скетчем?
Т.е. как я понимаю при запуске платки первоначально на какое-то время активируется бутлоадер, затем, если нет запроса на перепрошивку от IDE, управление передается прикладному скетчу.
Посему, ежли имеет место автономная работа с использованием аппаратного UART с внешними устройствами необходима аппаратная блокировка входных линий на определенное время после подачи питания чтобы не вызвать фальстарт бутлоадера.
Вот и вопрос - а сколько конкретно?
В описаниях на саму ардуинку данной информации нету...
В том числе и по правилам защиты от случайного некорректного запуска бутлоадера...
:-(
В том числе и по правилам защиты от случайного некорректного запуска бутлоадера...
:-(
хаватит тормозить - сотри лоадер и записывай программатором.
Тогда это уже не ардуина, а обыкновенна самоделка на основе меги, "близкая к одноразовой".
Мне проще "с нуля" и схемку и прожку под ассемблером нашкрябать "по старинке" будет!
;-)
Интересует именно решение "в рамках" ардуинки как вида элементной базы. Тем более, что от "случайного стечения обстоятельств" на инициирующих запуск бутлоадера выводах абсолютной гарантии не имеется.
Интересует именно решение "в рамках" ардуинки как вида элементной базы. Тем более, что от "случайного стечения обстоятельств" на инициирующих запуск бутлоадера выводах абсолютной гарантии не имеется.
сотри лоадер и не еби мосг, тормоз.
Интересует именно решение "в рамках" ардуинки как вида элементной базы. Тем более, что от "случайного стечения обстоятельств" на инициирующих запуск бутлоадера выводах абсолютной гарантии не имеется.
сотри лоадер и не еби мосг, тормоз.
Простое удаление бутлоадера не прокатит - как минимум там обязан быть фрагмент обеспечения обслуживания вектора аппаратного сброса с передачей управления программе пользователя (скетчу) при отсутствии запроса на перезагрузку программного кода.
А копаться в бутлоадере как-то ВЛОМ...
Думал может у кого уже инфа есть, а пока попал на злобного СУСАНИНА.
;-)
Пы.Сы.
Ну в коде загрузчика же.
optiboot полсекунды.
стандартный 2 секунды.
Я компилирую скетч и зашиваю over arduinoISP, fuses стоят так же как и штатно (просто не трогаю). Работает. Может неправильно, да мне и похер. Делаю так 4 года, проблем не было.
Простое удаление бутлоадера не прокатит - как минимум там обязан быть фрагмент обеспечения обслуживания вектора аппаратного сброса с передачей управления программе пользователя (скетчу) при отсутствии запроса на перезагрузку программного кода.
прекращай бредить - при отсутвии в загрузчике чего-то там аппаратного сброса, работает аппаратная инициализация контроллера и запуск программы ползателя происходит в штатном режиме.
Ну в коде загрузчика же.
optiboot полсекунды.
стандартный 2 секунды.
...
Спасибки за уточнение!
Всем привет как управлять шим сигналом по uart ?
Передатчик:
Приёмник:
где x - число типа byte, n - PWM-совместимый вывод.
Управляю шим по по радиоканалу с помощью UART .Но нужно парально управлять еще и кнопками релле одно другому мешает. Подскажите как быть ?
Приемник
Передатчик
Управляю шим по по радиоканалу с помощью UART .Но нужно парально управлять еще и кнопками релле одно другому мешает. Подскажите как быть ?
А по какому признаку приемник может понять, каким из устройств ему следует управлять?