程序如下:
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