天嵌 ARM开发社区

 找回密码
 注册
查看: 30351|回复: 145

Qt下使用QExtSerialPort进行串口通信

  [复制链接]
caoyun_87 发表于 2012-9-21 13:42:53 | 显示全部楼层 |阅读模式
本帖最后由 caoyun_87 于 2012-9-21 13:45 编辑

        最近看到有人在愁如何在Qt下实现串口通信,这里我分享一下Qt下使用QExtSerialPort进行串口通信的流程。
写给新手们,老鸟直接绕过。

1.将QExtSerialPort的相关文件添加到工程目录。

2.包含头文件#include "QExtSerialPort/posix_qextserialport.h"

3.定义posix_qextserialport 对象,和接收计时器,接收缓冲

4.初始化串口
  1. void MainWindow::setupSerialPort()
  2. {
  3.     serialPort.setPortName(DEFAULT_PORT);  //#define DEFAULT_PORT    "/dev/ttySAC2"  设置端口名
  4.     serialPort.setBaudRate(DEFAULT_BAUD);  //#define DEFAULT_BAUD    BAUD38400     设置波特率
  5.     serialPort.setDataBits(DATA_8);
  6.     serialPort.setParity(PAR_NONE);
  7.     serialPort.setStopBits(STOP_1);
  8.     serialPort.setFlowControl(FLOW_OFF);
  9.     serialPort.setTimeout(10);
  10.     readTimer.setInterval(200);
  11.     connect(&readTimer,SIGNAL(timeout()),this,SLOT(readCom()));
  12.     readTimer.start();

  13. }
复制代码
5.编写接收槽函数
  1. void MainWindow::readCom()
  2. {
  3.     QByteArray temp = serialPort.readAll();

  4.     if(!temp.isEmpty())
  5.     {
  6.           for(int i = 0;i < temp.count();i++)
  7.          {
  8.                 OnRecvChar(temp[i]);   //自定义的处理函数
  9.           }
  10.     }
  11. }
复制代码

6.打开串口serialPort.open();

附件:QExtSerialPort相关文件。
游客,如果您要查看本帖隐藏内容请回复





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2 +20 收起 理由
hulifanghlf + 10 很给力!
szglzxymd + 10 赞一个!

查看全部评分

 楼主| caoyun_87 发表于 2012-9-22 20:56:09 | 显示全部楼层
亚瑟王 发表于 2012-9-21 17:17
亲,有人好评了,记得告诉我给你发金币。
先给你加精。

呵呵,还有这么一说的啊
回复 支持 1 反对 0

使用道具 举报

亚瑟王 发表于 2012-9-21 17:17:04 | 显示全部楼层
亲,有人好评了,记得告诉我给你发金币。
先给你加精。
mercury20102013 发表于 2012-9-21 23:38:43 | 显示全部楼层
看看,这段时间也在总结qt4串口通信呢,你发了。我就不用重新发一遍了。呵呵
chun8810 发表于 2012-9-24 08:47:12 | 显示全部楼层
正在學習當中感謝
亚瑟王 发表于 2012-9-24 09:35:10 | 显示全部楼层
caoyun_87 发表于 2012-9-22 20:56
呵呵,还有这么一说的啊

好评数量决定金币多寡啊。呵呵。
fancyfighter 发表于 2012-9-24 11:07:06 | 显示全部楼层
看个东西太麻烦了!
亚瑟王 发表于 2012-9-24 14:17:54 | 显示全部楼层
caoyun_87 发表于 2012-9-22 20:56
呵呵,还有这么一说的啊

你好,已经给你发了10个金币作为奖励。
借我你的一生 发表于 2012-9-24 14:57:26 | 显示全部楼层
谢谢分享。。。。。。。。
lpdpzc 发表于 2012-9-24 23:14:01 | 显示全部楼层
学习下,看看
qiangyao612 发表于 2012-9-25 09:04:31 | 显示全部楼层
在linux下面调试好的,串口交叉编译以后下载到ARM开发板上,怎么没有输出?要查那几个方面的问题?
496812749 发表于 2012-9-25 11:13:45 | 显示全部楼层
这个果断好评啊!!!
 楼主| caoyun_87 发表于 2012-9-25 21:03:40 | 显示全部楼层
qiangyao612 发表于 2012-9-25 09:04
在linux下面调试好的,串口交叉编译以后下载到ARM开发板上,怎么没有输出?要查那几个方面的问题?

你先直接在连接终端的串口输出试试
ARMlearn 发表于 2012-9-27 09:35:44 | 显示全部楼层
看看 学习下
kingbovey 发表于 2012-9-28 20:13:40 | 显示全部楼层
我看看看看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 16:34 , Processed in 1.062521 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表