本文來源電子發(fā)燒友社區(qū),作者:岳洋, 帖子地址:https://bbs.elecfans.com/jishu_2297439_1_1.html
上次我們測試完QT之后,我們還能創(chuàng)建一個串口終端,因為這些都是QT自己本身就帶的功能,如果有3D應(yīng)該還可以跑下QT 3D效果,本開發(fā)板的全志芯片也是帶了GPU的,顯示3D難度應(yīng)該會好很多。本次的話我們還是先體驗下QT開發(fā)串口調(diào)試助手,這樣我們能用串口接一些傳感器了。
首先使用QT5的串口,只需要在頭文件中添加上QT += serialport。這樣就能使用串口庫了。
然后我們還是在之前的基礎(chǔ)上完善內(nèi)容,首先是就是端口要聲明使用QSerialPort 新建一個。然后我們再添加一個定時器,定時去讀取獲得的數(shù)據(jù)。
之后就是主函數(shù)中直接添加,我們這里使用的串口就是米爾在設(shè)備里提供的,印象中有四個有ttyS0,ttyS2,ttyS3,ttyS5。他這個都是對應(yīng)的,對應(yīng)了板子原理圖中的串口0,2,3,5。
my_serialport = new QSerialPort(this);
my_serialport->setPortName("/dev/ttyS2");
//以讀寫方式打開串口
if(my_serialport->open(QIODevice::ReadWrite))
{
//設(shè)置波特率
my_serialport->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);
//設(shè)置數(shù)據(jù)位
my_serialport->setDataBits(QSerialPort::Data8);
//設(shè)置校驗位
my_serialport->setParity(QSerialPort::NoParity);
//設(shè)置流控制
my_serialport->setFlowControl(QSerialPort::NoFlowControl);
//設(shè)置停止位
my_serialport->setStopBits(QSerialPort::OneStop);
//每秒讀一次
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(readComDataSlot()));
timer->start(1000);
}
else
{
QMessageBox::about(NULL, "提示", "串口沒有打開!");
return;
}
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::readComDataSlot()
{
QByteArray info = my_serialport->readAll();
qDebug() << info;
}
上面是具體代碼,這里面也使用了信號槽的概念,暫時我們沒有在ui中體現(xiàn)接收到的數(shù)據(jù)。所以我們使用qDebug()直接打印出來,在我們QT creator中底部有終端直接顯示的。
然后我們外接USB轉(zhuǎn)TTL的,這里沒用串口終端ttyS0因為我發(fā)現(xiàn)好像打不開,沒反應(yīng),所以我換了。
我們找原理圖,發(fā)現(xiàn)一個端子上就有我們TTL的所以直接接串口2即可。
如上圖。
然后win終端打開串口助手,發(fā)送。QT這邊能接收到。
這個換一個字符測試。都是可以的。雖然這個都顯示在一起,但是實際是板子的終端界面在win上,win上實際就是一個串口助手發(fā)送。至此QT串口助手測試完成了。
-
米爾科技
+關(guān)注
關(guān)注
5文章
227瀏覽量
21610
發(fā)布評論請先 登錄
【米爾RK3576開發(fā)板免費體驗】1、開發(fā)環(huán)境、鏡像燒錄、QT開發(fā)環(huán)境搭建以及應(yīng)用部署
有獎丨米爾 瑞芯微RK3506開發(fā)板免費試用

基于米爾全志T536開發(fā)板的多協(xié)議物聯(lián)網(wǎng)關(guān)的方案測試

有獎丨米爾 NXP i.MX91開發(fā)板免費試用來啦

基于米爾全志T536開發(fā)板的視頻識別應(yīng)用方案

【米爾-STM32MP257開發(fā)板試用體驗】初次體驗米爾-STM32MP257開發(fā)板
免費丨米爾 STM32MP257開發(fā)板有獎試用

有獎丨米爾 瑞芯微YR3562開發(fā)板免費試用

有獎丨米爾 全志T536開發(fā)板免費試用

如何用OpenCV進(jìn)行手勢識別--基于米爾全志T527開發(fā)板

追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用

有獎丨米爾 瑞芯微RK3576開發(fā)板免費試用

評論