【发布时间】:2015-07-17 08:25:23
【问题描述】:
我正在使用 CameraLink 内部虚拟 COM 端口与 CameraLink 相机通信。我写了以下代码:
serial=new QSerialPort(this);
connect(serial,SIGNAL(readyRead()),SLOT(readFPN()));
serial->setPortName(comPort);
serial->setBaudRate(QSerialPort::Baud9600);
serial->setStopBits(QSerialPort::OneStop);
serial->setParity(QSerialPort::NoParity);
serial->open(QIODevice::ReadWrite);
QString comm=QString("r gwbr\r"); //read red channel gain
serial->write(comm.toUtf8(),comm.size());
QString comm=QString("r gwbb\r"); //read blue channel gain
serial->write(comm.toUtf8(),comm.size());
... more serial commands
readFPN 函数现在除了将读取的数据附加到 QByteArray 之外什么都不做:
void ts4control_calibrationdialog::readFPN()
{
resp+=serial->readAll();
}
但是 readFPN 函数永远不会被调用。我设置了一个断点,程序在不调用回调的情况下跳过了写入命令。与设备的一般通信使用上述设置在 COM 端口终端中进行。
要发出信号,我必须进行哪些更改?或者我怎样才能找出它为什么不起作用?有什么调试思路吗?
【问题讨论】:
标签: c++ qt serial-port qt-signals