本文来源电子发烧友社区,作者:岳洋, 帖子地址:https://bbs.elecfans.com/jishu_2297439_1_1.html
上次我们测试完QT之后,我们还能创建一个串口终端,因为这些都是QT自己本身就带的功能,如果有3D应该还可以跑下QT 3D效果,本开发板的全志芯片也是带了GPU的,显示3D难度应该会好很多。本次的话我们还是先体验下QT开发串口调试助手,这样我们能用串口接一些传感器了。
首先使用QT5的串口,只需要在头文件中添加上QT += serialport。这样就能使用串口库了。
然后我们还是在之前的基础上完善内容,首先是就是端口要声明使用QSerialPort 新建一个。然后我们再添加一个定时器,定时去读取获得的数据。
之后就是主函数中直接添加,我们这里使用的串口就是米尔在设备里提供的,印象中有四个有ttyS0,ttyS2,ttyS3,ttyS5。他这个都是对应的,对应了板子原理图中的串口0,2,3,5。
my_serialport = new QSerialPort(this);
my_serialport->setPortName("/dev/ttyS2");
//以读写方式打开串口
if(my_serialport->open(QIODevice::ReadWrite))
{
//设置波特率
my_serialport->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);
//设置数据位
my_serialport->setDataBits(QSerialPort::Data8);
//设置校验位
my_serialport->setParity(QSerialPort::NoParity);
//设置流控制
my_serialport->setFlowControl(QSerialPort::NoFlowControl);
//设置停止位
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中体现接收到的数据。所以我们使用qDebug()直接打印出来,在我们QT creator中底部有终端直接显示的。
然后我们外接USB转TTL的,这里没用串口终端ttyS0因为我发现好像打不开,没反应,所以我换了。
我们找原理图,发现一个端子上就有我们TTL的所以直接接串口2即可。
如上图。
然后win终端打开串口助手,发送。QT这边能接收到。
这个换一个字符测试。都是可以的。虽然这个都显示在一起,但是实际是板子的终端界面在win上,win上实际就是一个串口助手发送。至此QT串口助手测试完成了。
-
米尔科技
+关注
关注
5文章
227浏览量
21265
发布评论请先 登录
相关推荐
【米尔-Xilinx XC7A100T FPGA开发板试用】测试一
全志T507-H国产平台Ubuntu系统正式发布,让您的应用开发更便捷!
米尔基于NXP iMX.93开发板的M33处理器应用开发笔记

评论