Не в программе дело. Дело в том,что на шине RS485 не может быть двух мастеров, только один. А Вы пытаетесь нарушить закон этой шины. Если Вам кровь из носа иметь более одного мастера примените другой протокол,например Profibas. А в данном случае возникает конфликт на шине.
Наверное, имелось ввиду, что только один передатчик в единицу времени может передавать, а остальные слушают. А так-то мастерами могут быть...да хоть все.
Опрос делаю с компьютера программой "COM Port Toolkit 4.0" код я предоставил, подключение я думаю не влияет на мастер это или нет. Вы можете дать совет?
Могу сказать однозначно что дело не в подключении (я не могу себе представить как можно не правильно подключить, тогда совсем бы не работало). У меня работают все адреса, но после перезагрузки может отвечать только 2-а адреса, а может 1. Тут проблема с кодом, возможно модули переходят в режим мастера. Пока не разобрался.
Искусственно на весь цикл поставил тайм аут. Код (C++): //Добавил переменные unsigned long int t_next; #define T_OUT 50 void loop() { long int t = millis(); if ( t_next < t ) { t_next = t + T_OUT; //Код программы который выше } } Пока полет нормальный.