modbus_t *modbus_new_rtu 函数详解 libmodbus库详解系列

翻译自: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

你可能感兴趣的:(Modbus)