- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARMLinux系统下Qt串口助手设计
基于ARMLinux系统下Qt串口助手设计
摘 要:串口助手是从事计算机、电子等行业人员调试的基本工具,但是目前在Linux下还没有一款如同Windows串口助手那样方便的调试工具。在Linux下开发了一款基于Qt4.6.3的串口调试助手,并且利用交叉编译实现了在ARM9上的移植,给出了串口助手的程序框架和设计要点。??
关键词:Linux操作系统;ARM;Qt4.6.3;串口助手??
中图分类号:TP311.52 文献标识码:A 文章编号:1672-7800(2011)08-0064-02?お?
??
作者简介:张新村(1986-),男,山东潍坊人,西南科技大学硕士研究生,研究方向为嵌入式应用;严殊(1956-),男,四川绵阳人,硕士,西南科技大学副教授,研究方向为电力电子及电力传动。
0 引言??
串口助手是专门用于测试串口通信使用的工具,目前网络上的串口调试助手也有各种各样的版本,但实现原理上都是相同或相近的。串口调试助手以其方便、稳定、交互性强的特性给软件开发人员带来了极大的便利。而且许多串口助手上都附加了定时发送、文件发送等功能,其功能也是越来越强大。而Linux下目前却没有这么一款方便快捷的串口工具。??
Linux下目前并没有一款简洁便利的串口调试助手,虽然有Minicom这么一款软件,但是其使用起来还是很不方便的,每次安装需要做许多配置,给用户带来很多不便。所以在Linux操作系统下制作这么一款如同windows下的串口助手一样的软件,就可以直接在windows与Linux下实现串口的通讯,会给程序员的调试开发带来很大的便利,大大提高工作效率。Qt Creator 是 Nokia 官方推出的专门针对 Qt 开发的 IDE。正是基于Qt的各种优点和越来越受到的关注度,本文选择Qt作为工具来编写Linux下的串口助手。??
本文就Qt下的Qextserialport这种类介绍了在Linux环境下Qt串口助手的基本编写过程。??
1 Qextserialport类??
进程在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,本文使用该类。qextserialport-1.2win-alpha中,qextserialbase.cpp和qextserialbase.h文件定义了QextSerialBase类,win_qextserialport.cpp和相应头文件定义了一个Win_QextSerialPort类,posix_qextserialport.cpp和头文件定义了一个Posix_QextSerialPort类,qextserialport.cpp和qextserialport.h文件定义了一个QextSerialPort类。QextSerialPort类是所有这些类的子类,是最高的抽象,它屏蔽了平台特征,使得在任何平台上都可以使用它。这几个类的关系如图1所示。??
??
图1 几个类之间的关系 图2 串口收发界面 ??
QextSerialBase类继承自QIODevice类,它提供了操作串口所必需的一些变量和函数等,而Win_QextSerialPort和Posix_QextSerialPort均继承自QextSerialBase类,Win_QextSerialPort类添加了Windows平台下操作串口的一些功能,Posix_QextSerialPort类添加了Linux平台下操作串口的一些功能。所以说,在Windows下使用Win_QextSerialPort类,在Linux下使用Posix_QextSerialPort类。??
在QextSerialBase类中还涉及到了一个枚举变量QueryMode,它有两个值Polling和EventDriven。QueryMode指的是读取串口的方式,下面称为查询模式,将Polling称为查询方式Polling,将EventDriven称为事件驱动方式。事件驱动方式EventDriven就是使用事件处理串口的读取,一旦有数据到来,就会发出readyRead()信号,可以关联该信号来读取串口的数据。在事件驱动的方式下,串口的读写是异步的,调用读写函数会立即返回,它们不会冻结调用线程。而查询方式Polling则不同,读写函数是同步执行的,信号不能工作在这种模式下,而且有些功能也无法实现。但是这种模式下的开销较小。这里需要自己建立定时器来读取串口的数据。在Windows下支持以上两种模式,而在Linux下只支持Polling模式。??
2 设计Linux下串口助手??
Qt通过signal和s
您可能关注的文档
- 基于Android高级程序设计语言移动学习平台设计与实现.doc
- 基于Android高校课程学习系统设计与实现.doc
- 基于ANFIS新闻工作者媒体素养评估预测.doc
- 基于ANFIS实验教学质量评价研究.doc
- 基于AngularJS健康大数据用户接口设计与实现.doc
- 基于AngⅡApoE表达探讨补肾中药复方首参颗粒对颈动脉粥样硬化患者影响.doc
- 基于ANP―Fuzzy―TOPSIS企业精益化水平评价研究.doc
- 基于ANN电力工程造价预测模型建立与实现.doc
- 基于ANP供应链合作伙伴选择综合评价.doc
- 基于ANP公路工程造价风险控制与管理.doc
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)