Russian Qt Forum
Апрель 30, 2024, 04:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Странное поведение setDataBits и setStopBits  (Прочитано 1685 раз)
Максим
Гость
« : Сентябрь 21, 2016, 09:30 »

Доброго времени суток.
Пилю форму настройки COM порта, столкнулся со странным поведением методов задания количества бит данных и стоп-бит.
Есть форма с настройками порта в ComboBox`ах.
Для пользователя они отображаются в привычном виде, например, бит данных - от 5 до 8, стоп-биты: 1, 1,5 и 2. В методы задания значения передаются, в виде Int, соответствующих Value нужного элемента перечисления, например, для 7 бит данных - 7, для 1,5 стоп-бит - 3 (в соответствии с документацией на Qt).
Столкнулся с тем, что не все значения принимаются, так для бит данных принимаются только 7 и 8, для остальных возвращается errorString "Параметр задан неверно."
Для стоп-бит та-же история с 1,5.
Код:
bool TSerialPort::SetDataBits(int bits)
{
    qDebug()<<bits;
    qDebug()<<(QSerialPort::DataBits)bits;
    bool isOk = port->setDataBits((QSerialPort::DataBits)bits);
    qDebug() << (isOk ? "Data OK" : port->errorString());
    return isOk;
}
 
bool TSerialPort::SetStopBit(int stopBit)
{
    qDebug()<<stopBit;
    bool isOk = port->setStopBits((QSerialPort::StopBits)stopBit);
    qDebug() << (isOk ? "Stop OK" : port->errorString());
    return isOk;
}

QT 5.7. Компилятор MinGW 5.3.0
Записан
Максим
Гость
« Ответ #1 : Сентябрь 21, 2016, 11:03 »

Странно всё это. Компьютер перезагрузил. Всё починилось.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Сентябрь 21, 2016, 12:10 »

Цитировать
errorString "Параметр задан неверно."

Ничо странного... глюки драйвера и прочее... может вообще эти режимы не поддерживаются.

А по-хорошему - нужно отлаживать, если снова такое будет повторяться, и смотреть где там что не нравится ему.
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.137 секунд. Запросов: 22.