[Qt-interest] serial communication, RTS and DTR

Denis Akhmetzyanov dakhmetzyanov at smartlabs.tv
Wed Mar 31 12:24:24 CEST 2010


Hi,
Did you check simple data transfer between two different serial ports? Are
examples supplied with library (in qextserialport/examples folder) working
fine? I didn't use RTS and DTR lines with QextSerialPort, but data
transmitting thru RXD/TXD was successful (in Windows XP).


2010/3/31 HardMaker <hardmaker at gmail.com>

> Hi, yes, I open the port, the complete code is:
>
> void Dialog::on_btnOpenPort_clicked()
> {
>    serial->setBaudRate(BAUD9600);
>    serial->setFlowControl(FLOW_OFF);
>    serial->setParity(PAR_NONE);
>    serial->setDataBits(DATA_8);
>    serial->setStopBits(STOP_2);
>
>     if(serial->open(QIODevice::ReadWrite|QIODevice::Unbuffered))
>        ui->logList->addItem(new QListWidgetItem ("Open: TRUE"));
>    else
>        ui->logList->addItem(new QListWidgetItem ("Open: FALSE"));
> }
>
> Where logList is a QListWidget where write some text to debug.
> The "serial" was defined in the Dialog class. I have buttons to togle
> RTS and DTR:
>
> void Dialog::on_rtsOn_clicked()
> {
>    serial->setRts(true);
> }
>
> void Dialog::on_rtsOff_clicked()
> {
>    serial->setRts(false);
> }
>
> void Dialog::on_dtrOn_clicked()
> {
>    serial->setDtr(true);
> }
>
> void Dialog::on_dtrOff_clicked()
> {
>    serial->setDtr(false);
> }
>
> And with other button close the port:
>
> void Dialog::on_btnClosePort_clicked()
> {
>    if(serial->isOpen())
>    {
>      serial->close();
>      if(serial->isOpen())
>      {
>        ui->logList->addItem(new QListWidgetItem ("No cerr?"));
>      }
>      else
>      {
>        ui->logList->addItem(new QListWidgetItem ("Cerro OK"));
>      }
>    }
>    else
>        ui->logList->addItem(new QListWidgetItem ("Not opened!"));
> }
>
>
>
> Denis Akhmetzyanov escribió:
> > Hi,
> > Are you open port before setRts() ?
> >
> >     serial->open(QIODevice::ReadWrite)
> >
> >
> > 2010/3/30 HardMaker <hardmaker at gmail.com <mailto:hardmaker at gmail.com>>
> >
> >     Hi,
> >     I'm trying to make a serial comunication too and I need to control
> the
> >     RTS and DTR lines. Not for make a hardware hand shaking, yust I
> >     wan't to
> >     drive this lines and send and recive data trow the serial port as
> >     diferents things.
> >     As you suggest, I try QextSerialPort from google and use this code on
> >     linux to initialize the port:
> >
> >        QextSerialPort serial = new QextSerialPort();
> >        serial->setBaudRate(BAUD9600);
> >        serial->setFlowControl(FLOW_OFF);
> >        serial->setParity(PAR_NONE);
> >        serial->setDataBits(DATA_8);
> >        serial->setStopBits(STOP_2);
> >
> >     but when I press a button to execute this code:
> >
> >      serial->setRts(true);
> >     or
> >      serial->setRts(false);
> >
> >     Nothing happend, I'm using a digital voltimeter conected to RTS and
> >     don't change. But, if use other applications  it's ok  (the
> >     hardware work).
> >     Can helpme?
> >
> >     Thank's
> >
> >     Sergio
> >
> >     Yuvraj escribió:
> >     > Denis Akhmetzyanov wrote:
> >     >
> >     >> Hi,
> >     >> I suggest you to try
> >     >> QextSerialPort http://code.google.com/p/qextserialport/ instead
> >     of the
> >     >> native calls. It is a convenient class implements QIODevice and
> >     >> supports signal/slot technology and asynchronous calls.
> >     >>
> >     >>
> >     >> 2010/3/30 Yuvraj <yuvraj.ragupathi at indieontech.com
> >     <mailto:yuvraj.ragupathi at indieontech.com>
> >     >> <mailto:yuvraj.ragupathi at indieontech.com
> >     <mailto:yuvraj.ragupathi at indieontech.com>>>
> >     >>
> >     >>      Hi ,
> >     >>
> >     >>     Here i am opening the serial communication device file and
> >     writing
> >     >>     some data, in other hand i am not getting the data due to
> enter
> >     >>     key( "/r/n")
> >     >>
> >     >>     my code is
> >     >>
> >     >>      file_descriptor = open("/dev/ttyS0",O_RDWR);
> >     >>         if(file_descriptor > 0)
> >     >>         {
> >     >>              timer = new QTimer;
> >     >>             timer1 =new QTimer;
> >     >>
> >     >>
> >
> QObject::connect(timer,SIGNAL(timeout()),this,SLOT(browser_append()));
> >     >>
> >     >>
> >
> QObject::connect(timer1,SIGNAL(timeout()),this,SLOT(on_send_clicked()));
> >     >>             timer->start(1);
> >     >>             timer1->start(10);
> >     >>         }
> >     >>         else
> >     >>         {
> >     >>             QMessageBox::information(0,"","Connection failed");
> >     >>         }
> >     >>
> >     >>
> >     >>     void  window::on_send_clicked()
> >     >>     {
> >     >>          int file_id;
> >     >>        char send_data[150]= "Hi Hello\r\n";
> >     >>         if(file_descriptor > 0)
> >     >>         {
> >     >>            file_id= write(file_descriptor,send_data,15);
> >     >>            ui->send_text->clear();
> >     >>            ui->send_text->setFocus();
> >     >>            if(file_id > 0)
> >     >>            {
> >     >>                qDebug()<<"Data successfully written \n";
> >     >>            }
> >     >>
> >     >>
> >     >>         }
> >     >>
> >     >>     }
> >     >>
> >     >>     any  ideas?
> >     >>
> >     >>     Thanks
> >     >>
> >     >>     Yuvaraj R
> >     >>
> >     >>
> >     >>     _______________________________________________
> >     >>     Qt-interest mailing list
> >     >>     Qt-interest at trolltech.com
> >     <mailto:Qt-interest at trolltech.com>
> >     <mailto:Qt-interest at trolltech.com <mailto:Qt-interest at trolltech.com
> >>
> >     >>     http://lists.trolltech.com/mailman/listinfo/qt-interest
> >     >>
> >     >>
> >     >>
> >     > There itself i am facing  same issue (key enter )
> >     >
> >     > Thanks
> >     > Yuvaraj
> >     > _______________________________________________
> >     > Qt-interest mailing list
> >     > Qt-interest at trolltech.com <mailto:Qt-interest at trolltech.com>
> >     > http://lists.trolltech.com/mailman/listinfo/qt-interest
> >     >
> >     >
> >
> >
> >
> >     _______________________________________________
> >     Qt-interest mailing list
> >     Qt-interest at trolltech.com <mailto:Qt-interest at trolltech.com>
> >     http://lists.trolltech.com/mailman/listinfo/qt-interest
> >
> >
>
>
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20100331/01dee9a7/attachment.html 


More information about the Qt-interest-old mailing list