我调用了,界面是两个lineEdit,一个输入请求帧,一个输出响应帧。但是出错了
int rc;
int raw_req_length=0,req_length=0;
QString in,out;
QByteArray ba;
const uint8_t *req=0;
uint8_t *raw_req=0;
ctx=modbus_new_rtu("COM4",19200,'N',8,1);
in=ui->sendlineEdit->text();
ba=in.toLocal8Bit();
raw_req=(unsigned char*)ba.data();
rc=modbus_send_raw_request( ctx,raw_req,raw_req_length);//发送的请求帧
uint8_t *msg=0;
modbus_mapping_t *mb_mapping=0;
rc = modbus_reply(ctx,req,req_length,mb_mapping); //响应帧
out=QString::fromUtf8((const char *)msg);
ui->respondlineEdit->setText(out);
这样的话,运行起来,一输入请求帧点确定就出错,程序有问题。帮忙看看吧?