|
2Qter豆
想用qt开发一个在arm9的板子上基于linux的串口通讯软件,实现与PC的通讯。
看了yafeilinux写的qt串口通信专题教程以后按照上面的在linux下实现qt的编程,然后烧到arm板子里去,好不容易有一次调通了,但后来又突然没反应了,弄了半天也解决不了这个问题。想询问一下如果开发基于arm的串口通信程序与直接在PC上开发有哪些区别?
其中mainwindow.cpp代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
new Ui::MainWindow)
{
ui->setupUi(this);
myCom=new Posix_QextSerialPort("/dev/ttyS1",QextSerialBase:olling);
myCom->open(QIODevice::ReadWrite);
myCom->setBaudRate(BAUD115200);
myCom->setDataBits(DATA_8);
myCom->setParity(PAR_NONE);
myCom->setStopBits(STOP_1);
myCom->setFlowControl(FLOW_OFF);
myCom->setTimeout(500);
readTimer= new QTimer(this);
readTimer->start(100);
connect(readTimer,SIGNAL(timeout()),this,SLOT(readMyCom()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::readMyCom()
{
if(myCom->bytesAvailable()>=8)
{
qDebug()<<"read:"<<myCom->bytesAvailable()<<"bytes";
QByteArray temp=myCom->readAll();
ui->textBrowser->insertPlainText(temp);
}
}
void MainWindow:n_pushButton_clicked()
{
myCom->write(ui->lineEdit->text().toAscii());
qDebug()<<"write:"<<myCom->bytesToWrite()<<"bytes";
}
|
最佳答案
查看完整内容
可以先将串口线的发送端和接受端短接,然后在上位机上测试下发送接受是否成功。
|