@mrkovalchuk
Junior developer

Modbus, RS485 передача данных через rx\tx 1-3, есть ли особенности?

Две ардуинки Mega и Nano работаю на RS485 шине по Modbus RTU протоколу.

Все работает, если настроить через tx0 и rx0 выходы, но не работает через другие (1-3). Суть: хочу завести два сериал соединения:
одно - обычный Serial, по которому Mega будет общаться с компом:

Serial.begin(9600);

другое Modbus, которое будет общаться со слейвами:

Modbus modbus (0,3,10);
modbus.begin(19200);


Есть ли такая возможность? или tx\rx должны на обоих устройствах совпадать в приказном порядке?
  • Вопрос задан
  • 1536 просмотров
Пригласить эксперта
Ответы на вопрос 2
Попробуйте именно те пины, где сериал есть аппаратный:
Для меги: последовательная шина: 0 (RX) и 1 (TX); Последовательная шина 1: 19 (RX) и 18 (TX); Последовательная шина 2: 17 (RX) и 16 (TX);
0, 1 уже для связи с пк, остальные пробуйте на остальное.

Вроде еще для цифровых пинов есть возможность сделать SoftwareSerial
Ответ написан
Ocelot
@Ocelot
Скорее всего, эта либа не умеет поднимать интерфейс на произвольных пинах, а пользуется аппаратным UART. Но она не знает, на каких пинах живет этот UART, поэтому требует указать при запуске.
Оставьте модбас на дефолтных tx/rx пинах, а для общения с компом поднимите SoftwareSerial
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы