Название: QSerialPort
Отправлено: demaker от Ноябрь 28, 2013, 13:01
Установил QSerialPort Подцепил библиотеку в проект. Вроде все ок... Но почему-то он не видит enum BaudRate { Baud1200 = 1200, Baud2400 = 2400, Baud4800 = 4800, Baud9600 = 9600, Baud19200 = 19200, Baud38400 = 38400, Baud57600 = 57600, Baud115200 = 115200, UnknownBaud = -1 };
и т.д.
т.е. пишу код C++ (Qt) CLayer0::CLayer0(QString name, BaudRate baud, Parity parity,QObject *parent): QObject(parent){ }
, а он не может определить тип BaudRate baud, Parity parity,
не могу понять почему?
Название: Re: QSerialPort
Отправлено: Johnik от Ноябрь 28, 2013, 13:25
Они же определены в классе QSerialPort, следовательно: CLayer0::CLayer0(QString name, QSerialPort::BaudRate baud, QSerialPort::Parity parity,QObject *parent)
Название: Re: QSerialPort
Отправлено: demaker от Ноябрь 28, 2013, 13:34
Точно, Спсб
Название: Re: QSerialPort
Отправлено: demaker от Декабрь 03, 2013, 12:19
Пытаюсь подключить порт C++ (Qt) port = new QSerialPort; connect(port,SIGNAL(readyRead()),this,SLOT(received())); if(!port->open(QIODevice::ReadWrite)) { connected = false; qDebug()<<"port not open!"; } else { connected = true; port->setPortName(namePort); port->setBaudRate(baudPort,QSerialPort::AllDirections); port->setParity(parityPort); port->setDataBits(QSerialPort::Data8); port->setStopBits(QSerialPort::OneStop); port->setFlowControl(QSerialPort::NoFlowControl); }
не подключает ??? Не могу понять почему?
Название: Re: QSerialPort
Отправлено: Bepec от Декабрь 03, 2013, 12:26
Ты пытаешься открыть порт без названия? Это какой? COM****? Вот код из примера библиотеки (из проекта дёрнул). port_ = new QSerialPort;
QString portName("COM2");//currentPortName
port_->setPortName(portName);
if (!port_->open(QIODevice::ReadWrite)) { emit error(tr("Can't open %1, error code %2") .arg(portName).arg(port_->error())); return; }
if (!port_->setBaudRate(QSerialPort::Baud115200)) { emit error(tr("Can't set baud rate 9600 baud to port %1, error code %2") .arg(portName).arg(port_->error())); return; }
if (!port_->setDataBits(QSerialPort::Data8)) { emit error(tr("Can't set 8 data bits to port %1, error code %2") .arg(portName).arg(port_->error())); return; }
if (!port_->setParity(QSerialPort::NoParity)) { emit error(tr("Can't set no parity to port %1, error code %2") .arg(portName).arg(port_->error())); return; }
if (!port_->setStopBits(QSerialPort::OneStop)) { emit error(tr("Can't set 1 stop bit to port %1, error code %2") .arg(portName).arg(port_->error())); return; }
if (!port_->setFlowControl(QSerialPort::NoFlowControl)) { emit error(tr("Can't set no flow control to port %1, error code %2") .arg(portName).arg(port_->error())); return; } emit openPort(port_); exec();
|