时间就是一切。
全部博文(36)
分类: C/C++
2008-02-09 20:35:37
/****************************************************************************
** Form implementation generated from reading ui file 'serialport.ui'
**
** Created by: The User Interface Compiler ($Id: qt/main.cpp 3.3.6 edited Aug 31 2005 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#include "serialport.h"
#include "serialsend.h"
#include "serialrecv.h"
#include
#include
#include
//#include
#include
#include
#include
#include
/*
* Constructs a Form1 as a child of 'parent', with the
* name 'name' and widget flags set to 'f'.
*
* The dialog will by default be modeless, unless you set 'modal' to
* TRUE to construct a modal dialog.
*/
Form1::Form1( QWidget* parent, const char* name, bool modal, WFlags fl )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "SERIALPORT" );
textLabel1 = new QLabel( this, "textLabel1" );
textLabel1->setGeometry( QRect( 50, 30, 105, 60 ) );
textLabel2 = new QLabel( this, "textLabel2" );
textLabel2->setGeometry( QRect( 50, 200, 100, 53 ) );
pushButton3 = new QPushButton( this, "pushButton3" );
pushButton3->setGeometry( QRect( 60, 260, 81, 31 ) );
pushButton2 = new QPushButton( this, "pushButton2" );
pushButton2->setGeometry( QRect( 60, 100, 81, 31 ) );
//textEdit1 = new QTextEdit( this, "textEdit1" );
//textEdit1->setGeometry( QRect( 160, 60, 340, 130 ) );
textEdit1=new QMultiLineEdit ( this, "textEdit1" );
textEdit1->setGeometry( QRect( 160, 20, 380, 130 ) );
//textEdit2 = new QTextEdit( this, "textEdit2" );
//textEdit2->setGeometry( QRect( 160, 240, 341, 120 ) );
textEdit2=new QMultiLineEdit ( this, "textEdit2" );
textEdit2->setGeometry( QRect( 160, 190, 380, 130 ) );
pushButton4 = new QPushButton( this, "pushButton4" );
pushButton4->setGeometry( QRect( 330, 330, 100, 41 ) );
languageChange();
resize( QSize(600, 380).expandedTo(minimumSizeHint()) );
clearWState( WState_Polished );
connect( pushButton4, SIGNAL( clicked() ), this, SLOT(goodBye() ) );
connect( pushButton2, SIGNAL( clicked() ), this, SLOT( serialS() ) );
connect( pushButton3, SIGNAL( clicked() ), this, SLOT( serialR() ) );
}
/*
* Destroys the object and frees any allocated resources
*/
Form1::~Form1()
{
// no need to delete child widgets, Qt does it all for us
}
/*
* Sets the strings of the subwidgets using the current
* language.
*/
void Form1::languageChange()
{
setCaption( tr( "Serial port" ) );
textLabel1->setText( tr( "please input\n"
" your data \n"
"and press SEND" ) );
textLabel2->setText( tr( "press RECEVIE \n"
" start receive\n"
"data" ) );
pushButton3->setText( tr( "RECEIVE" ) );
pushButton2->setText( tr( "SEND" ) );
pushButton4->setText( tr( "EXIT" ) );
}
void Form1::goodBye()
{
close(fd);
tcsetattr(fd,TCSANOW,&termiosoldtio);
close();
}
/****************************************************************************
** Form interface generated from reading ui file 'serialport.ui'
**
** Created by: The User Interface Compiler ($Id: qt/main.cpp 3.3.6 edited Aug 31 2005 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#ifndef FORM1_H
#define FORM1_H
#include
#include
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QSpacerItem;
class QLabel;
class QPushButton;
//class QTextEdit;
class QMultiLineEdit;
class Form1 : public QDialog
{
Q_OBJECT
public:
Form1( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
~Form1();
QLabel* textLabel1;
QLabel* textLabel2;
QPushButton* pushButton3;
QPushButton* pushButton2;
// QTextEdit* textEdit1;
//QTextEdit* textEdit2;
QMultiLineEdit* textEdit1;
QMultiLineEdit* textEdit2;
QPushButton* pushButton4;
protected:
protected slots:
virtual void languageChange();
virtual void serialS();
virtual void serialR();
void goodBye();
};
#endif // FORM1_H
/*#include "serialport.h"
#include
#include
#include
#include
#include
#include
//#include
void Form1::serialR()
{
QString str1,str2;
/* int fd,resrecv;
struct termios termiosoldtio;
struct termios newtio;
char buf[255];
// int strbuf;
printf("opening serial 0 \n");
fd=open("/dev/tts/0",O_RDWR | O_NOCTTY );//| O_NDELAY);
if(fd<0)
{
perror("/dev/tts/0");
exit (1);
}
printf("serve oldserial\n");
tcgetattr(fd,&termiosoldtio);
printf("set newserial\n");
bzero(&newtio,sizeof(newtio));
newtio.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = 0;//ICANON;
newtio.c_cc[VMIN] = 1;
newtio.c_cc[VTIME] = 50;
tcflush(fd,TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
printf(" output your data\n");
*/
// while(1)
// {
str1=textEdit1->text();
//lineEdit1->setText(str1);
//s1[0]=ch;
//ressend = write(fd,str1,1);
//resrecv = read(fd,buf,255);
//printf("%s\n", buf);
//for(strbuf=0;strbuf
textEdit2->setText(str1);
// }
// printf("exit\n");
//close(fd);
//tcsetattr(fd,TCSANOW,&termiosoldtio);
}
/*serialsend.h*/
#include "serialport.h"
#include
#include
#include
#include
#include
#include
#include
void Form1::serialS()
{
QString str1,str2;
int fd,ressend;
struct termios termiosoldtio;
struct termios newtio;
// char s1[255];
printf("opening serial 0 \n");
fd=open("/dev/tts/0",O_RDWR | O_NOCTTY );//| O_NDELAY);
if(fd<0)
{
perror("/dev/tts/0");
exit (1);
}
printf("serve oldserial\n");
tcgetattr(fd,&termiosoldtio);
printf("set newserial\n");
bzero(&newtio,sizeof(newtio));
newtio.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
//newtio.c_cc[VMIN] = 1;
//newtio.c_cc[VTIME] = 10;
tcflush(fd,TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
printf(" output your data\n");
str1=textEdit1->text();
// while(1)
// {
str1=textEdit1->text();
//s1[0]=ch;
//s1[0]=str1;
textEdit2->setText(str1);
ressend = write(fd,str1,10);
//resrecv = read(fd,&buf,255);
//printf("%s\n", buf);
//textEdit2->setText(str1);
// }
// printf("exit\n");
// textEdit2->setText(buf);
// close(fd);
// tcsetattr(fd,TCSANOW,&termiosoldtio);
}
#include
#include "serialport.h"
/*
int main(int argc,char *argv[])
{
QPEApplication app(argc,argv);
Form1 *dialog = new Form1;
app.setMainWidget(dialog);
dialog->show();
return app.exec();
}
*/
QTOPIA_ADD_APPLICATION("serilaport",Form1)
QTOPIA_MAIN
serialrecv.h \
serialsend.h
serialport.cpp