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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSerialPort запись в порт  (Прочитано 5471 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« : Март 01, 2017, 14:12 »

Пытаюсь в порт отправить сообщение при нажатии на кнопку.
Сообщение проходит только один раз.
После повторного нажатия сообщение в терминале не отображается.

Хотя QDebug выводит 5 на экран - типа записалось. Непонимающий Непонимающий Непонимающий
Скажите что делаю не правильно.
Код
C++ (Qt)
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
 
   connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(clicked()));
 
   serialPort = new QSerialPort(this);
   serialPort->setPortName("COM4");
   qDebug()<<"---------------------------------------------";
   qDebug()<<serialPort->open(QIODevice::ReadWrite);
   qDebug()<<"---------------------------------------------";
   qDebug()<<serialPort->setBaudRate(QSerialPort::Baud38400);
   qDebug()<<serialPort->setDataBits(QSerialPort::Data8);
   qDebug()<<serialPort->setParity(QSerialPort::NoParity);
   qDebug()<<serialPort->setStopBits(QSerialPort::OneStop);
   qDebug()<<serialPort->setFlowControl(QSerialPort::NoFlowControl);
}
 
MainWindow::~MainWindow()
{
   delete ui;
}
 
void MainWindow::clicked()
{
   if(serialPort->isOpen()){
       QByteArray ba("hello");
       qDebug()<<serialPort->write(ba.data(),ba.size());
   }
}
 
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #1 : Март 02, 2017, 16:13 »

Добавил после write waitForBytesWritten и все заработало.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Март 02, 2017, 16:34 »

Скорее всего кривой ком-порт, вангую - какой-то самопальный девайс.
Записан

ArchLinux x86_64 / Win10 64 bit
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #3 : Март 07, 2017, 19:56 »

Скорее всего кривой ком-порт, вангую - какой-то самопальный девайс.
Т.е  вы хотите сказать что переходник usb-2com работает криво  Непонимающий
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Март 07, 2017, 22:50 »

Но уж явно не QSerialPort.
Записан

ArchLinux x86_64 / Win10 64 bit
dimka8
Гость
« Ответ #5 : Март 20, 2017, 20:49 »

переходники usb-com на вин7 работают отвратительно не только с Qt
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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