Как прошить arduino, подсоединенную к другой по Serial

M a x
Offline
Зарегистрирован: 20.06.2016

Есть 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? 
Jatixo
Offline
Зарегистрирован: 13.01.2016

Можно сэкономить пины используемые Вами с помощью сдвиговых регистров, тогда освободятся для программного сериал.

Можно прошивать не через юсб или уарт, а через icsp.

Можно временно как-то отсоединять провода, возможно даже какой-то один. Аппаратно или программно переключив на второй ардуине пин на вход, но не знаю заработает ли потом сериал.

M a x
Offline
Зарегистрирован: 20.06.2016

Все понятно. А есть способ без обрыва проводов и через ЮСБ?

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

M a x пишет:

Все понятно. А есть способ без обрыва проводов и через ЮСБ?

ну, сделай из одной дуино мост и отправляй данные сериала в загрузчик другой дуино.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

M a x пишет:

Все понятно. А есть способ без обрыва проводов и через ЮСБ?

Можно, на "лишней" ардуине нужно опустить в "ноль" линию ресет.

M a x
Offline
Зарегистрирован: 20.06.2016

это как,  можно поподробнее плз?

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

На данный момент я поставил DIP переключатель, есть еще способ с реле, но все это как-то некрасиво и затратно.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

M a x пишет:

На данный момент я поставил DIP переключатель.

чем тебе переключатель не подходит?

M a x
Offline
Зарегистрирован: 20.06.2016

все находится в собранной коробке и прошивать будут чайники исполняемой программой через мини-юсб

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

M a x пишет:

все находится в собранной коробке и прошивать будут чайники исполняемой программой через мини-юсб

ну, и? кто чайник?

сделай тумблер на два положения "прошить одно", "прошить другое".

Jatixo
Offline
Зарегистрирован: 13.01.2016

Раз можно резет на землю опустить, то можно сделать кроме контактов рх тх при прошивке, вывести резет другого и при подключении кабеля в разъеме замыкать резет с землей, это на мини, а с нано юсб, если тоже такой же разъем шлейф делать, или кроме реле еще транзистор можно, типа при подаче питания юсб транзистором резет на землю делать...

M a x
Offline
Зарегистрирован: 20.06.2016

Всем спасибо, решил проблему вешанием экрана на I2C и высвободившиеся контакты завел на SoftwareSerial вместо RX-TX. Теперь все прошивается без отсоединения друг от друга.

Теперь другая проблема возникла - нехватка памяти (((

sergeynikitin
Offline
Зарегистрирован: 16.06.2022