找回密码
 立即注册
收起左侧

关于在arm9(mini2440)上实现linux系统下的串口与PC(XP)通信

3
回复
8618
查看
[复制链接]

尚未签到

来源: 2013-7-11 19:47:07 显示全部楼层 |阅读模式
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";
}

最佳答案

查看完整内容

可以先将串口线的发送端和接受端短接,然后在上位机上测试下发送接受是否成功。
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2013-7-11 19:47:08 显示全部楼层
f267267 发表于 2013-7-11 20:51
这个问题已经解决了,我嵌入式系统的串口应该是ttySAC1,而不是ttyS1。所以导致找不到串口号。。。。
不过 ...

可以先将串口线的发送端和接受端短接,然后在上位机上测试下发送接受是否成功。
回复

使用道具 举报

尚未签到

2013-7-11 20:51:04 显示全部楼层
这个问题已经解决了,我嵌入式系统的串口应该是ttySAC1,而不是ttyS1。所以导致找不到串口号。。。。
不过又出了个新问题,我在PC下用串口工具不停得发送“1234567”这一串数据,在arm屏幕上只显示一个1234567,在控制口也只显示write 9bites,就不动了。。这时候我把显示屏接线动一下(松一下再接,我估计显示屏会刷新一次),屏幕上就会多出一个1234567,控制口也会多一个write 9bites。。。如何解决这个问题?
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2013-10-7 18:09:29 显示全部楼层
mark 过几天在我的mini2440上跑一下,楼主怎么联系?想你请教问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了