Linux QT串口通信遇到的问题

本文介绍了使用QT库在Linux下进行串口通信的实现,包括设置串口参数、读取数据以及信号槽的连接与断开。通过读取串口接收到的数据,解析并更新角度、油门和高度等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:遇到device can not open 
解决:sudo chown young /dev/ttyUSB0

程序如下:

uart.h:

#ifndef UART_H
#define UART_H

#include <QObject>
#include <QTimer>
#include <QtSerialPort/QSerialPort>
class Uart : public QObject
{
    Q_OBJECT
public:
    explicit Uart(QObject *parent = 0);
    ~Uart();
    void InitUart();
    short roll;
    short pitch;
    short yaw;
    short m_throttle;
    float m_altitude;
    short gl_Angle;
private:
    QSerialPort *my_serialport;
    QByteArray requestData;
    unsigned char *buffer;
signals:
    void changeAngle(short,short,short);
    void changeThrottle(short);
    void changeAltitude(float);
    void changeYawGL(short);
    void changeAngleToUI(short,short,short);
    void isOpenUart(bool);
    void IsConnectControl(int);
public slots:
    void readUartSlot();
    void connectUart();
    void disconnectUart();
};

#endif // UART_H

 

uat.cpp:

#include "uart.h"
#include <QDebug>
#include <QMessageBox>
Uart::Uart(QObject *parent) :
    QObject(parent)
{
    roll = 0;
    pitch = 0;
    yaw = 0;
    m_throttle = 0;
    gl_Angle = 0;
    my_serialport = new QSerialPort();
    QString portName = "ttyUSB0";
    my_serialport->setPortName(portName);
    if(my_serialport->open(QIODevice::ReadOnly))
    {
        my_serialport->setBaudRate(115200);
        my_serialport->setDataBits(QSerialPort::Data8);
        my_serialport->setParity(QSerialPor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值