树莓派 Qt+串口开发
一、配置树莓派串口为实际物理串口
参考以下串口配置步骤,或看下面
链接: link
1.查看串口状态
默认为辅助串口,
查看指令
ls /dev -al
结果如下:
2.开启硬件串口
如下如操作,开启硬件串口,关闭辅助串口
点击确定重启
再次查看更新的效果,seril0 还是辅助串口,需要继续设置
3.将硬件串口设置为主串口
3.1修改配置文件
sudo nano /boot/config.txt
dtoverlay=pi3-miniuart-bt
force_turbo=1
复位 reboot
再次查看得到目标效果
二、树莓派开发 Qt
在树莓派上进行Qt串口开发,你可以按照以下步骤来进行:
-
安装Qt串口库。打开终端窗口,执行以下命令来安装Qt的串口库:
sudo apt-get install libqt5serialport5 libqt5serialport5-dev
这将安装Qt的串口库以及开发所需的头文件和库文件。
-
创建一个Qt项目。使用Qt Creator创建一个新的Qt项目或打开现有的Qt项目。
-
在项目中添加Qt串口模块。在Qt Creator的工程资源管理器中,找到项目文件(.pro文件),右键单击并选择“编辑项目文件”(Edit Project File)。
-
在项目文件中添加以下行,以将Qt串口模块添加到项目中:
QT += serialport
-
保存并关闭项目文件。
-
编写串口通信代码。在Qt项目中的源代码文件中,使用Qt串口模块提供的类和函数来实现串口通信。你可以使用
QSerialPort
类来打开、读取、写入和关闭串口。以下是一个简单的示例代码来演示如何发送和接收串口数据:#include <QtSerialPort/QSerialPort> #include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QSerialPort serial; serial.setPortName("/dev/ttyUSB0"); // 根据你的串口设备进行设置 serial.setBaudRate(QSerialPort::Baud9600); serial.setDataBits(QSerialPort::Data8); serial.setParity(QSerialPort::NoParity); serial.setStopBits(QSerialPort::OneStop); if (!serial.open(QIODevice::ReadWrite)) { qDebug() << "Failed to open serial port"; return 1; } serial.write("Hello, World!"); QObject::connect(&serial, &QSerialPort::readyRead, [&]() { QByteArray data = serial.readAll(); qDebug() << "Received data: " << data; }); return app.exec(); }
这个示例代码打开一个串口设备(
/dev/ttyUSB0
),设置串口参数,发送字符串数据并在接收到数据时打印输出。 -
构建和运行项目。使用Qt Creator构建和运行你的Qt项目。确保树莓派上已连接相应的串口设备。
希望这些步骤可以帮助你开始在树莓派上进行Qt串口开发。如果有任何问题,请随时提问。
注意串口设备号修改成自己的设备号/dev/ttyAMA0
三、测试
1.电脑打开串口
2.运行程序
发送接收正常,可以下一步软件开发做准备