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

关于Windows下面对串口的一些操作问题

19
回复
12596
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-4-20 16:34:43 显示全部楼层 |阅读模式
1Qter豆
以下是我的串口操作程序
#include "mainwindow.h"#include "ui_mainwindow.h"#include <qtimer.h>#include <QMessageBox>#include <QTimer>#include <QDebug>MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    myCom = new Win_QextSerialPort("COM1", QextSerialBase::EventDriven);    myCom->open(QIODevice::ReadWrite);    myCom->setBaudRate(BAUD9600);    myCom->setDataBits(DATA_8);    myCom->setParity(PAR_NONE);    myCom->setStopBits(STOP_1);    myCom->setFlowControl(FLOW_OFF);    myCom->setTimeout(500);    if(!myCom->isOpen()) {        QMessageBox::warning(this, tr("waring"), tr("COM1 don't open"), QMessageBox::Yes);    }    connect(myCom, SIGNAL(readyRead()), this,SLOT(readMyCom()));    //QTimer *timer = new QTimer(this);    //connect(timer, SIGNAL(timeout()), this, SLOT(readMyCom()));    //timer->start(1000);}
MainWindow::~MainWindow(){    delete ui;}
void MainWindow::readMyCom(){    //读取串口储存区的所有数据给变量temp    QByteArray temp = myCom->readAll();    //将串口的数据显示到TestBrowser    qDebug() << temp;    ui->textBrowser->insertPlainText(temp);    //ui->textBrowser->insertPlainText(ui->lineEdit->text());}
void MainWindow::writeMyCom(){    QString str = ui->lineEdit->text();    QByteArray send = str.toLatin1();    qDebug() << send;    myCom->write(send);}
void MainWindow::on_pushButton_clicked(){    writeMyCom();}

但是我的textBrowser里面没有显示任何东西 我不知道是没有写进去还是没有读出来 大神帮忙看看 万分感谢!


最佳答案

查看完整内容

http://www.qter.org/forum.php?mod=viewthread&tid=2861&extra=,看看这个链接,我临时写的
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-20 16:34:44 显示全部楼层
http://www.qter.org/forum.php?mo ... tid=2861&extra=,看看这个链接,我临时写的
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 09:28:59 显示全部楼层
cai901022 发表于 2015-4-20 19:07
http://www.qter.org/forum.php?mod=viewthread&tid=2861&extra=,看看这个链接,我临时写的

谢谢!我先看看 现在貌似还要解决一个串口自动识别的问题 你有思路吗?
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 09:31:33 显示全部楼层
cai901022 发表于 2015-4-20 19:07
http://www.qter.org/forum.php?mod=viewthread&tid=2861&extra=,看看这个链接,我临时写的

我看到你的程序里面有自动识别功能了 谢谢
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-21 09:59:09 显示全部楼层
z55716368 发表于 2015-4-21 09:31
我看到你的程序里面有自动识别功能了 谢谢

嗯嗯,你满意就好。还需要什么可以私聊我
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 11:00:19 显示全部楼层
cai901022 发表于 2015-4-21 09:59
嗯嗯,你满意就好。还需要什么可以私聊我

QSerialportinfo 有一个standardBaudRates  他的作用是什么 是显示常用波特率吗?
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-21 11:13:16 显示全部楼层
本帖最后由 cai901022 于 2015-4-21 11:14 编辑
z55716368 发表于 2015-4-21 11:00
QSerialportinfo 有一个standardBaudRates  他的作用是什么 是显示常用波特率吗?

返回一个列表的当前串口标准支持的波特率,其实这个你可以看帮助文档,上面都是有的,虽然是英文,如果你看不懂可以用翻译软件翻一下的。然后在根据自己的理解去编译试试,错了没有关系,起码可以学到东西,知道这个意思
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 12:00:33 显示全部楼层
cai901022 发表于 2015-4-21 11:13
返回一个列表的当前串口标准支持的波特率,其实这个你可以看帮助文档,上面都是有的,虽然是英文,如果你看 ...

谢谢啊 麻烦你了 以后有什么不懂得还请你继续解答一下 谢谢
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 13:27:26 显示全部楼层
cai901022 发表于 2015-4-21 11:13
返回一个列表的当前串口标准支持的波特率,其实这个你可以看帮助文档,上面都是有的,虽然是英文,如果你看 ...

我自己仿照你的写了一个,里面我是我自己的一些需求函数 但是每次到myCom->setPortName(myportName);就通不过直接关闭了程序 能帮我看看错误在哪里吗?
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 13:30:20 显示全部楼层
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 13:32:34 显示全部楼层
cai901022 发表于 2015-4-21 11:13
返回一个列表的当前串口标准支持的波特率,其实这个你可以看帮助文档,上面都是有的,虽然是英文,如果你看 ...

http://www.qter.org/forum.php?mo ... tid=2866&extra= 在这个链接里面
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-21 13:47:43 显示全部楼层
z55716368 发表于 2015-4-21 13:30
http://www.qter.org/forum.php?mod=viewthread&tid=2866&extra= 在这个链接里面

首先,你那个QSerialPort *myCOM;   //串口标志,这个是一个指针,对于指针你少了一句话,myCOM = new QSerialPort();就是这个。你语法错了。指针怎么能执行myCom->setPortName(myportName);。你要先指向什么,才能执行什么。多注意下就没问题了。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 13:49:38 显示全部楼层
cai901022 发表于 2015-4-21 13:47
首先,你那个QSerialPort *myCOM;   //串口标志,这个是一个指针,对于指针你少了一句话,myCOM = new QS ...

原来是这样 以为才开始用QT没多少时间 以来就开始做项目 没有时间去看那些书 以后有空了要认真学一学 谢谢了 !!
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-4-21 13:51:58 显示全部楼层
z55716368 发表于 2015-4-21 13:49
原来是这样 以为才开始用QT没多少时间 以来就开始做项目 没有时间去看那些书 以后有空了要认真学一学 谢 ...

这个不是QT问题,是代码语法问题,你多打点代码,积累经验就可以了。以后多细心些就没事了。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-21 13:52:36 显示全部楼层
cai901022 发表于 2015-4-21 13:51
这个不是QT问题,是代码语法问题,你多打点代码,积累经验就可以了。以后多细心些就没事了。 ...

恩 谢谢了 。。。。。。。。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-22 09:05:21 显示全部楼层
cai901022 发表于 2015-4-20 16:34
http://www.qter.org/forum.php?mod=viewthread&tid=2861&extra=,看看这个链接,我临时写的

http://www.qter.org/forum.php?mo ... tid=2870&extra= 我感觉我就是个坑!
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-18 15:23:46 显示全部楼层
cai901022 发表于 2015-4-20 16:34
http://www.qter.org/forum.php?mod=viewthread&tid=2861&extra=,看看这个链接,我临时写的

哥们 毕业设计老师要求重做、救我!
串口怎么发送char arr[1024] = {0x01,0x02,0x03,0x04}这种数据?
相应的要如何接收?
这周六就要答辩了 !!救我!

点评

16进制这样接收,去看看资料char和16进制之间的转换  详情 回复 发表于 2015-5-19 09:07
回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2015-5-19 09:07:03 显示全部楼层
z55716368 发表于 2015-5-18 15:23
哥们 毕业设计老师要求重做、救我!
串口怎么发送char arr[1024] = {0x01,0x02,0x03,0x04}这种数据?
相 ...

16进制这样接收,去看看资料char和16进制之间的转换
回复

使用道具 举报

尚未签到

2021-12-22 16:40:09 显示全部楼层
z55716368 发表于 2015-5-18 15:23
哥们 毕业设计老师要求重做、救我!
串口怎么发送char arr[1024] = {0x01,0x02,0x03,0x04}这种数据?
相 ...

哥们,你获救了吗!!!!!

点评

这都好多年了 哈哈 肯定获救了  详情 回复 发表于 2022-3-30 16:33
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2022-3-30 16:33:54 显示全部楼层
BillXie 发表于 2021-12-22 16:40
哥们,你获救了吗!!!!!

这都好多年了 哈哈 肯定获救了
回复

使用道具 举报

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

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