Как прошить arduino, подсоединенную к другой по Serial
- Войдите на сайт для отправки комментариев
Чт, 23/06/2016 - 15:23
Есть Arduino Nano и Arduino Pro-mini, соединенные RX-TX. При попытке прошить или одну или другую с помощью стандартных средств IDE _без_отключения_ одной от другой - прошивка не происходит и падают ошибки типа:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xff
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
...
Прошиваются, только если физически отсоеденены провода.
Подумал немного, решил, что мне поможет SoftwareSerial, соеденил провода RX-TX от Nano на D2 D3 в pro-mini. Теперь Pro-mini, где стоит SoftwareSerial прошивается без отключения проводов, а Nano по-прежнему не прошивается.
Не подскажете, как решить проблему с прошивкой Nano, если уже не осталось свободных пинов для переноса с RX-TX?
Можно сэкономить пины используемые Вами с помощью сдвиговых регистров, тогда освободятся для программного сериал.
Можно прошивать не через юсб или уарт, а через icsp.
Можно временно как-то отсоединять провода, возможно даже какой-то один. Аппаратно или программно переключив на второй ардуине пин на вход, но не знаю заработает ли потом сериал.
Все понятно. А есть способ без обрыва проводов и через ЮСБ?
Все понятно. А есть способ без обрыва проводов и через ЮСБ?
ну, сделай из одной дуино мост и отправляй данные сериала в загрузчик другой дуино.
Все понятно. А есть способ без обрыва проводов и через ЮСБ?
Можно, на "лишней" ардуине нужно опустить в "ноль" линию ресет.
это как, можно поподробнее плз?
У меня система такая - первая ардуино занимается рассчетами, вторая - выводом на экран. Соответственно, вторая подключена к первой по RX-TX. С учетом того, что необходимо обновлять прошивку рассчетной ардуины, то нужен способ ее прошивать без разрыва проводов.
На данный момент я поставил DIP переключатель, есть еще способ с реле, но все это как-то некрасиво и затратно.
На данный момент я поставил DIP переключатель.
чем тебе переключатель не подходит?
все находится в собранной коробке и прошивать будут чайники исполняемой программой через мини-юсб
все находится в собранной коробке и прошивать будут чайники исполняемой программой через мини-юсб
ну, и? кто чайник?
сделай тумблер на два положения "прошить одно", "прошить другое".
Раз можно резет на землю опустить, то можно сделать кроме контактов рх тх при прошивке, вывести резет другого и при подключении кабеля в разъеме замыкать резет с землей, это на мини, а с нано юсб, если тоже такой же разъем шлейф делать, или кроме реле еще транзистор можно, типа при подаче питания юсб транзистором резет на землю делать...
Всем спасибо, решил проблему вешанием экрана на I2C и высвободившиеся контакты завел на SoftwareSerial вместо RX-TX. Теперь все прошивается без отсоединения друг от друга.
Теперь другая проблема возникла - нехватка памяти (((
Есть еще в библиотеках ArduinoIDE библиотека AltSoftSerial. Она в отличие от SoftSerial не глючит и работает как полноценный аппаратный Serial. Правда, поскольку она использует ресурсы ШИМ генератора, возможность формировать ШИМ сигнал пропадает. Но зато полноценный второй аппаратный Serial!