6 #include <modbus/modbus.h>
10 modbus_t *mb = modbus_new_rtu("/dev/ttyUSB0", 19200, 'E', 8, 1);
12 die("Cannot open modbus");
14 int rc = modbus_connect(mb);
16 die("Cannot connect: %d", rc);
18 if (modbus_set_slave(mb, 42) < 0)
19 die("Cannot set slave address");
21 modbus_set_debug(mb, 1);
25 rc = modbus_read_registers(mb, 0, 1, &dest);
27 die("Cannot read: %s", modbus_strerror(errno));
28 printf("%04x\n", dest);
32 byte rr[] = { 42, 0x2b, 0x0e, 0x04, 0x00 };
33 // byte rr[] = { 42, 0x03, 0x00, 0x00, 0x00, 0x10 };
34 rc = modbus_send_raw_request(mb, rr, sizeof(rr));
36 die("Cannot send raw request: %s", modbus_strerror(errno));
39 rc = modbus_receive_confirmation(mb, rp);
41 die("Cannot receive confirmation: %s", modbus_strerror(errno));
43 for (int i=0; i<rc; i++)
44 printf("%02x ", rp[i]);