ธันวาคม 13, 2017, 02:42:57 am *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: Qt กับ Serial Port (อย่างง่าย)  (อ่าน 2694 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8267


ShadowWares


| |
« เมื่อ: พฤษภาคม 28, 2015, 02:07:37 pm »

ขอละคำอธิบายในส่วนต่างๆ แปะไว้เฉพาะ source code ก็แล้วกันนะครับ
สงสัย ไม่เข้าใจ ส่วนไหน อ่าน help ดูก่อน หากยังไม่เข้าใจ ค่อยตั้งคำถาม ตอบได้จะตอบ ตอบไม่ได้ก็จะไปหาคำตอบมาตอบจนได้
 wink

1) ที่ *.h เพิ่ม Slot function ลงไป
Code: (c)
private slots:
   void serialReceived();


2) ที่ *.cpp ใน function constructor เพิ่มการเปิด port การ setup และการกำหนด Signal/Slot
Code: (c)
    serial = new QSerialPort(this);
    serial->setPortName("COM2");
    serial->open(QIODevice::ReadWrite);
    serial->setBaudRate(QSerialPort::Baud9600);
    serial->setParity(QSerialPort::NoParity);
    serial->setDataBits(QSerialPort::Data8);
    serial->setStopBits(QSerialPort::OneStop);
    serial->setFlowControl(QSerialPort::NoFlowControl);
    serial->write("Hello Serial Port\r\n");
    connect(serial,SIGNAL(readyRead()), this, SLOT(serialReceived()));


3) ที่ *.cpp ใน deconstructor function เพิ่ม:
Code: (c)
    serial->close();
    delete serial;


4) ที่ *.cpp เพิ่ม function ของ Slot
Code: (c)
void MainWindow::serialReceived()
{
    QByteArray data = str = serial->readAll();
    // do_other_things...
}
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: