本文來(lái)源電子發(fā)燒友社區(qū),作者:岳洋, 帖子地址:https://bbs.elecfans.com/jishu_2297439_1_1.html
上次我們測(cè)試完QT之后,我們還能創(chuàng)建一個(gè)串口終端,因?yàn)檫@些都是QT自己本身就帶的功能,如果有3D應(yīng)該還可以跑下QT 3D效果,本開(kāi)發(fā)板的全志芯片也是帶了GPU的,顯示3D難度應(yīng)該會(huì)好很多。本次的話(huà)我們還是先體驗(yàn)下QT開(kāi)發(fā)串口調(diào)試助手,這樣我們能用串口接一些傳感器了。
首先使用QT5的串口,只需要在頭文件中添加上QT += serialport。這樣就能使用串口庫(kù)了。
然后我們還是在之前的基礎(chǔ)上完善內(nèi)容,首先是就是端口要聲明使用QSerialPort 新建一個(gè)。然后我們?cè)偬砑右粋€(gè)定時(shí)器,定時(shí)去讀取獲得的數(shù)據(jù)。
之后就是主函數(shù)中直接添加,我們這里使用的串口就是米爾在設(shè)備里提供的,印象中有四個(gè)有ttyS0,ttyS2,ttyS3,ttyS5。他這個(gè)都是對(duì)應(yīng)的,對(duì)應(yīng)了板子原理圖中的串口0,2,3,5。
my_serialport = new QSerialPort(this);
my_serialport->setPortName("/dev/ttyS2");
//以讀寫(xiě)方式打開(kāi)串口
if(my_serialport->open(QIODevice::ReadWrite))
{
//設(shè)置波特率
my_serialport->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);
//設(shè)置數(shù)據(jù)位
my_serialport->setDataBits(QSerialPort::Data8);
//設(shè)置校驗(yàn)位
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, "提示", "串口沒(méi)有打開(kāi)!");
return;
}
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::readComDataSlot()
{
QByteArray info = my_serialport->readAll();
qDebug() << info;
}
上面是具體代碼,這里面也使用了信號(hào)槽的概念,暫時(shí)我們沒(méi)有在ui中體現(xiàn)接收到的數(shù)據(jù)。所以我們使用qDebug()直接打印出來(lái),在我們QT creator中底部有終端直接顯示的。
然后我們外接USB轉(zhuǎn)TTL的,這里沒(méi)用串口終端ttyS0因?yàn)槲野l(fā)現(xiàn)好像打不開(kāi),沒(méi)反應(yīng),所以我換了。
我們找原理圖,發(fā)現(xiàn)一個(gè)端子上就有我們TTL的所以直接接串口2即可。
如上圖。
然后win終端打開(kāi)串口助手,發(fā)送。QT這邊能接收到。
這個(gè)換一個(gè)字符測(cè)試。都是可以的。雖然這個(gè)都顯示在一起,但是實(shí)際是板子的終端界面在win上,win上實(shí)際就是一個(gè)串口助手發(fā)送。至此QT串口助手測(cè)試完成了。
-
米爾科技
+關(guān)注
關(guān)注
5文章
227瀏覽量
21420
發(fā)布評(píng)論請(qǐng)先 登錄
【米爾-STM32MP257開(kāi)發(fā)板試用體驗(yàn)】初次體驗(yàn)米爾-STM32MP257開(kāi)發(fā)板
如何在米爾-STM32MP257開(kāi)發(fā)板上實(shí)現(xiàn)環(huán)境監(jiān)測(cè)系統(tǒng)

OpenCV行人檢測(cè)應(yīng)用方案--基于米爾全志T527開(kāi)發(fā)板

免費(fèi)丨米爾 STM32MP257開(kāi)發(fā)板有獎(jiǎng)試用

有獎(jiǎng)丨米爾 瑞芯微YR3562開(kāi)發(fā)板免費(fèi)試用

有獎(jiǎng)丨米爾 全志T536開(kāi)發(fā)板免費(fèi)試用

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

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

有獎(jiǎng)丨米爾 瑞芯微RK3576開(kāi)發(fā)板免費(fèi)試用

全志T507-H國(guó)產(chǎn)平臺(tái)Ubuntu系統(tǒng)正式發(fā)布,讓您的應(yīng)用開(kāi)發(fā)更便捷!
米爾基于NXP iMX.93開(kāi)發(fā)板的M33處理器應(yīng)用開(kāi)發(fā)筆記

點(diǎn)擊參與米爾NXP i.MX 93開(kāi)發(fā)板有獎(jiǎng)試用

米爾NXP i.MX 93開(kāi)發(fā)板的Qt開(kāi)發(fā)指南
米爾NXP i.MX 93開(kāi)發(fā)板的Qt開(kāi)發(fā)指南

免費(fèi)!NXP i.MX 93開(kāi)發(fā)板有獎(jiǎng)試用

評(píng)論