crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

gormih
  опции профиля:
сообщение 26.3.2012, 12:57
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 22.9.2011
Пользователь №: 2901

Спасибо сказали: 0 раз(а)




Репутация:   0  


Проблема в том, что сия чудная библиотека не хочет давать только строки по ->ReadLine - дает нарезку из обрывков строк.
Инициализация:
NmeaSerial::NmeaSerial(const QString & portName)
{
    this->NMEASerialport = new QextSerialPort(portName,QextSerialPort::EventDriven);

    NMEASerialport->setBaudRate(BAUD38400);
    NMEASerialport->setFlowControl(FLOW_OFF);
    NMEASerialport->setParity(PAR_NONE);
    NMEASerialport->setDataBits(DATA_8);
    NMEASerialport->setStopBits(STOP_2);

    if (NMEASerialport->open(QIODevice::ReadOnly) == true) {
        connect(NMEASerialport, SIGNAL(readyRead()), this, SLOT(onNmeaDataRead()));
        connect(NMEASerialport, SIGNAL(dsrChanged(bool)), this, SLOT(onNmeaDsrChanged(bool)));
        if (!(NMEASerialport->lineStatus() & LS_DSR))
            qDebug() << "warning: device is not turned on";
        qDebug() << "listening for data on" << NMEASerialport->portName();
    }
    else {
        qDebug() << "device failed to open:" << NMEASerialport->errorString();
    }

}


Читаю так:

void NmeaSerial::onNmeaDataRead()
{
        QString tmpdata= QString::fromLatin1(NMEASerialport->readLine(999));
        QStringList tmpdatalist = tmpdata.split("/n");
         qDebug() << "Byte:" <<tmpdatalist;
}


Как победить недуг?
Есть идея использовать getChar, но это как то муторно...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 4:12