This shows you the differences between two versions of the page.
| — | sdk:scripts:modbus-rtu-master [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== SDK Script modbus-rtu-master.are ====== | ||
| + | <code c modbus-rtu-master.are> | ||
| + | /* DESC: This script can be used to read messages from the serial port. | ||
| + | * Copyright (C) 2015 NetModule AG, Switzerland | ||
| + | */ | ||
| + | |||
| + | DEV = " | ||
| + | SLAVEID = 1; | ||
| + | |||
| + | /* check serial port config */ | ||
| + | st = nb_config_get(" | ||
| + | if (st != " | ||
| + | nb_syslog(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | /* set attributes */ | ||
| + | ret = nb_serial_setattr(DEV, | ||
| + | |||
| + | if (ret != 0) { | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | /* open serial port */ | ||
| + | fd = nb_serial_open(DEV); | ||
| + | if (fd < 0) { | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | /* register fd for modbus functions */ | ||
| + | if (nb_modbus_register(fd, | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | /* set slave id */ | ||
| + | if (nb_modbus_set_slave(fd, | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | /* write 3 registers start at address 0*/ | ||
| + | data = mkarray(0, 1, 2); | ||
| + | nb_modbus_write_regs(fd, | ||
| + | |||
| + | /* read 5 registers from address 0*/ | ||
| + | data = nb_modbus_read_regs(fd, | ||
| + | |||
| + | /* print data */ | ||
| + | dump(data); | ||
| + | |||
| + | /* unregister, close fd and exit */ | ||
| + | nb_modbus_unregister(fd); | ||
| + | |||
| + | close(fd); | ||
| + | exit(0); | ||
| + | |||
| + | </ | ||