翻译自:http://libmodbus.org/docs/v3.0.6/modbus_new_rtu.html
名称
modbus_new_rtu - 生成RTU的连接
函数
modbus_t *modbus_new_rtu(const char *device, int baud, char parity, int data_bit, int stop_bit);
描述
这个 modbus_new_rtu()函数会生成并初始化一个modbus的结构体来在串行线路中使用RTU模式进行通讯。
device 指定OS处理的串行端口的名称,比如 /dev/ttyS0 or /dev/ttyUSB0,在windows系统上,如果COM编号大于9,必须要在COM前加上\\.\ ,比如 \\\\.\\COM10.,参照http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx
baud 参数指定连接的波特率,比如9600, 19200, 57600, 115200等。
parity 参数代表奇偶检验位,有如下值:
-
N 无奇偶校验
-
E 偶数校验
-
O 奇数校验
data_bit 参数指定数据的位数,允许值有: 5, 6, 7 ,8.
stop_bit 参数指定停止位位数,允许值有1和2.
返回值
如果建立成功,modbus_new_rtu()函数将返回指向modbus_t结构的指针。 否则它将返回NULL并将errno设置为下面定义的值之一。
错误
参数错误
给出一个无效参数。
例子
modbus_t *ctx;
ctx = modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1);
if (ctx == NULL) {
fprintf(stderr, "Unable to create the libmodbus context\n");
return -1;
}
SEE ALSO
modbus_new_tcp(3) modbus_free(3)
AUTHORS
The libmodbus documentation was written by Stéphane Raimbault <[email protected]>