Ciao ragazzi,
per diversi miei progetti ho utilizzato la libreria "ModbusMaster-master" per leggere o scrivere alcuni registri.
Oggi provando a a comunicare con altre tipologie di apparati, il result della richiesta mi torna 1.
Purtroppo, dando un'occhiata veloce al manuale non ho trovato nulla.
Di seguito il codice del programma:
#include <ModbusMaster.h>
ModbusMaster address1;
#define MAX485_DE 53 // Trasmissione modbus
#define MAX485_RE_NEG 53 // Trasmissione modbus
uint8_t result;
void preTransmission() //prima della trasmissione arduino---->inverter
{
digitalWrite(MAX485_RE_NEG, 1);
digitalWrite(MAX485_RE_NEG, 1);
}
void postTransmission() //dopo della trasmissione inverter---->arduino
{
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}
void setup() {
Serial.begin(9600);
Serial1.begin(9600); //seriale
pinMode(MAX485_RE_NEG, OUTPUT);
pinMode(MAX485_DE, OUTPUT);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
address1.begin(1, Serial1);
address1.preTransmission(preTransmission);
address1.postTransmission(postTransmission);
delay(2000);
}
void loop() {
result = address1.readInputRegisters(0x690, 1);
Serial.println(String(result));
if (result == address1.ku8MBSuccess) {
Serial.println(String(address1.getResponseBuffer(0)));
}
delay(5000);
}
Grazie per eventuali risposte