当前位置: 技术问答>linux和unix
关于QT串口读取数据
来源: 互联网 发布时间:2016-11-19
本文导语: 我想实现,读取串口数据进行作图。我的环境是qtopia-2.1.1、qt-embedded-2.3.10、qt-x11-2.3.2。我把我的程序列出来,希望大家给找找错误。 /**************************************************************************** ** Form interface generated ...
我想实现,读取串口数据进行作图。我的环境是qtopia-2.1.1、qt-embedded-2.3.10、qt-x11-2.3.2。我把我的程序列出来,希望大家给找找错误。
/****************************************************************************
** Form interface generated from reading ui file 'drawdemo.ui'
**
** Created: Wed Feb 20 13:05:54 2008
** by: The User Interface Compiler (uic)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#ifndef MYPLOTTER_H
#define MYPLOTTER_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class MyPlotter : public QWidget
{
Q_OBJECT
public:
MyPlotter( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~MyPlotter();
protected:
virtual void paintEvent(QPaintEvent *);
private slots:
void rad();
void savefile();
void dos();
void sendFG();
void flushBuff();
private:
char buffer1[500];
char buffer2[500];
int buffer[10];
int shijz[250];
int highb;
int lowb;
float x_data[250];
QTimer *timer0;
QFrame *frame;
public:
QLabel *x_label[10];
QLabel *y_label[10];
QPainter *painter;
QMultiLineEdit *medit;
QLabel *file_name;
QString file_name_in;
QLineEdit *file_name_edit;
QPushButton *button0;
QPushButton *button1;
QPushButton *button2;
QPushButton *button3;
QString convert_data;
int confirm_flag;
char ReceiveData[20];
int fd;
int i;
int j;
int qianb;
int baib;
int shib;
int geb;
int otd;
int m1;
int m2;
int ret;
int k;
int wtable;
int rtable;
char buff[10];
int yCoor[10];
int xCoor[10];
int hui[10];
void drawHui();
};
/****************************************************************************
** Form interface generated from reading ui file 'drawdemo.ui'
**
** Created: Wed Feb 20 13:05:54 2008
** by: The User Interface Compiler (uic)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#ifndef MYPLOTTER_H
#define MYPLOTTER_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class MyPlotter : public QWidget
{
Q_OBJECT
public:
MyPlotter( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~MyPlotter();
protected:
virtual void paintEvent(QPaintEvent *);
private slots:
void rad();
void savefile();
void dos();
void sendFG();
void flushBuff();
private:
char buffer1[500];
char buffer2[500];
int buffer[10];
int shijz[250];
int highb;
int lowb;
float x_data[250];
QTimer *timer0;
QFrame *frame;
public:
QLabel *x_label[10];
QLabel *y_label[10];
QPainter *painter;
QMultiLineEdit *medit;
QLabel *file_name;
QString file_name_in;
QLineEdit *file_name_edit;
QPushButton *button0;
QPushButton *button1;
QPushButton *button2;
QPushButton *button3;
QString convert_data;
int confirm_flag;
char ReceiveData[20];
int fd;
int i;
int j;
int qianb;
int baib;
int shib;
int geb;
int otd;
int m1;
int m2;
int ret;
int k;
int wtable;
int rtable;
char buff[10];
int yCoor[10];
int xCoor[10];
int hui[10];
void drawHui();
};
|
好的。
问题给你解决了
我们操作串口,一般都是只打开,很少回去关闭串口的,因为,串口一般都是你一个人用。
关闭串口会导致他返回错误信息的。
你把串口的关闭注释掉
问题给你解决了
我们操作串口,一般都是只打开,很少回去关闭串口的,因为,串口一般都是你一个人用。
关闭串口会导致他返回错误信息的。
你把串口的关闭注释掉
136 if(tcsetattr(fd,TCSANOW,&newtio)