Hi everyone,
I am on Beaglebone Black Angstrom Linux.
struct timeval response_timeout;
response_timeout.tv_sec = 0;
response_timeout.tv_usec = 50000;
entesPoller = modbus_new_rtu("/dev/ttyO4", 9600, 'N', 8, 1);
modbus_rtu_set_serial_mode(entesPoller, MODBUS_RTU_RS485);
modbus_set_slave(entesPoller, 2);
modbus_set_debug(entesPoller, 1);
modbus_set_response_timeout(entesPoller, &response_timeout);
if(entesPoller == NULL) {
qDebug() << "Unable to create EntesPoller modbus context";
}else {
connected = modbus_connect(entesPoller);
}
modbus_flush(entesPoller);
And every 5 seconds:
if(connected == -1) {
qDebug() << "Cannot connect to Entes";
} else if(connected == 0) {
qDebug() << "Values from Entes: ";
modbus_read_registers(entesPoller, entesInformation::importEnergyLSBAddress, 4, entesRegisters);
for(int i=0; i<4; i++) {
qDebug() << entesRegisters[i];
}
}
modbus_flush(entesPoller);
Read success rate is very very low.
General error:
ERROR CRC received xxxx != CRC calculated xxxx
Second error
Connection timed out: Select
Third from time to time:
Waiting for a confirmation...
<00><3C><00><04><84><36><02><03><08><00><E0><00><00><00><53><00><00><8B><4C><02><03 bytes flashed,
Any ideas what can be the isse?
Thanks in advance,
Ilhan