2013-05-23 3 views
0

У меня есть коды хозяев/рабов Arduinos. Как я могу подключить их с контактами на плате Arduino? Я использую SimpleModbus библиотеки, но информации о их подключении нет.Arduino ModBus связь

Библиотеки

#include <SimpleModbusMaster.h> 
#include <SimpleModbusSlave.h> 
+3

Лучшим решением было бы открыть проблему с разработчиком этой библиотеки. Наивное предположение, основанное на последовательной связи, будет от Tx до Rx и Rx до Tx между двумя платами. –

ответ

0

В SimpleModbusMaster.cpp вы найдете такой код:

void modbus_configure(...) { 
    Serial.begin(baud); 
    ... 
} 


void waiting_for_reply() 
{ 
    if (Serial.available()) // is there something to check? 
    { 
     ... 
    } 
    ... 
} 

Так эта библиотека использует (первый) аппаратный последовательный порт, который на UNO, подключенный к выводам 0 и 1. Вам также необходимо выбрать, какой контакт для подключения к выходу TxEnable адаптера адаптера RS485. пример включены в файл библиотеки почтового индекса использует контактный номер 2:

// used to toggle the receive/transmit pin on the driver 
#define TxEnablePin 2 

Та же история в SimpleModbusSlave.cpp:

unsigned int modbus_update() 
{ 
    if (Serial.available()) 
    { 
     ... 
    } 
    ... 
} 

Так как ведущий и ведомый Arduinos используйте булавку 0 и 1. Кроме того, мастер использует контакт 2 (в прилагаемом примере) для управления шиной в правильном направлении (передача или прием).

Смежные вопросы