一种Linux系统的串口调试实现方法技术方案

技术编号:7454269 阅读:332 留言:0更新日期:2012-06-23 02:22
本发明专利技术公开了一种Linux系统的串口调试实现方法,涉及嵌入式、串口通讯技术,旨在提供一种可以运行在Linux系统下的串口调试实现方法。其技术要点:采用Qtdesigner语言编程;包括:1:建立“发送数据按钮”、“发送数据输入框”、“接收数据显示框”等控件;2:定义串口对象;3:建立“串口波特率按钮”、“串口数据位数按钮”、“设置有无奇偶校验按钮”、“设置停止位位数按钮”等控件;4:读取串口缓冲区中数据并显示到“接收数据显示框”,同时判断“发送数据按钮”是否被触发,若被触发则执行:将“发送数据输入框”控件中的数据以ASCII码形式写入串口。

【技术实现步骤摘要】

本专利技术涉及嵌入式技术、串口通讯技术,具体是描述如何实现计算机(PC)与嵌入式设备之间进行方便通讯的技术。
技术介绍
串口助手是专门用于测试串口通信使用的工具,目前网络上的串口调试助手也有各种各样的版本,但实现原理上都是相同或相近的。串口调试助手以其方便、稳定、交互性强的特性给软件开发人员带来了极大的便利。而且许多串口助手上都附加了定时发送、文件发送等功能,其功能也是越来越强大。但是这些串口调试助手都运行与windows操作系统下。目前Linux系统下并没有一款简洁便利的串口调试助手,虽然有Minicom这一款软件,但是其使用起来并不方便,因为在安装需要做许多配置,并且不是可视化操作界面, 给用户带来很多不便。Qt designer是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt designer是完全面向对象的,很容易扩展,并且允许真正地组件编程。Qt designer支持 Windows及Linux等平台。
技术实现思路
本专利技术的目的是针对目前,Linux系统下没有一款使用方便的串口调试助手的情况提供一种可以运行在Linux系统下的串口调试实现方法。本专利技术采用的技术方案是这样的采用Qt designer语言编程实现;包括步骤1 建立“发送数据按钮”控件、“发送数据输入框”控件、“接收数据显示框”控件; 步骤2:定义串口对象;步骤3 建立“串口波特率按钮”控件,被触发后执行串口波特率设定动作; 建立“串口数据位数按钮”控件,被触发后执行串口数据位数设定动作; 建立“设置有无奇偶校验按钮”控件,被触发后执行有无串口数据奇偶校验位设置动作;建立“设置停止位位数按钮”控件,被触发后执行设置串口数据停止位位数动作; 建立“打开串口按钮”控件,被触发后执行串口打开动作; 建立“关闭串口按钮”控件,被触发后执行串口关闭,停止通信动作; 步骤4 读取串口缓冲区中所有数据并显示到“接收数据显示框”控件,同时判断“发送数据按钮”控件是否被触发,若“发送数据按钮”控件被触发则执行步骤5 ;步骤5 检测“发送数据输入框”控件中是否有数据,若有数据,则将“发送数据输入框” 控件中的数据以ASCII码形式写入串口。优选地,“发送数据按钮”控件被触发且检测到“发送数据输入框”控件中没有数据,则执行对话框指令,提醒用户未输入需要发送的数据。优选地,“打开串口按钮”控件被触发后,“打开串口按钮”控件本身、“串口波特率按钮”控件、“串口数据位数按钮”控件、“设置有无奇偶校验按钮”控件、“设置停止位位数按钮”控件均设置为无效状态;“关闭串口按钮”控件设置为有效状态。优选地,“关闭串口按钮”控件被触发后,“关闭串口按钮”控件设置为无效状态; “打开串口按钮”控件、“串口波特率按钮”控件、“串口数据位数按钮”控件、“设置有无奇偶校验按钮”控件、“设置停止位位数按钮”控件均设置为有效状态。综上所述,由于采用了上述技术方案,本专利技术的有益效果是由于本方法采用Qt designer语言实现,能够运行在Wind0WS、LinuX等系统下;本方法可以方便移植到ARM9平台上,方便测试ARM与PC机的通讯;本方法具有芯片无关性,在Iinux平台下为一款通用的串口测试方法; 具有串口添加设备、串口数据收发等功能。附图说明本专利技术将通过例子并参照附图的方式说明,其中 图1是本方法响应用户测试操作的流程图。图2是本方法响应用户测试操作时各个按钮控件状态设置流程图。具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。本专利技术中的串口调试实现方法采用Qt designer语言实现,可以运行在Linux系统下。在Qt下编写串口助手的基本思想,总体来说主要包括两个方面第一,界面的设计, 在Qt下设计界面使用的是Qt designer工具,这就如同VC下的dialog对话框的使用,可以拖拽控件,对控件布局等,极为方便;第二,通讯的实现,其中包括按钮控件、Text控件的显示、串口参数的设置等。本专利技术中的串口调试实现方法包括以下步骤步骤1 建立“发送数据按钮”控件、“发送数据输入框”控件、“接收数据显示框”控件; 步骤2:定义串口对象;步骤3 建立“串口波特率按钮”控件,被触发后执行串口波特率设定动作; 建立“串口数据位数按钮”控件,被触发后执行串口数据位数设定动作; 建立“设置有无奇偶校验按钮”控件,被触发后执行有无串口数据奇偶校验位设置动作;建立“设置停止位位数按钮”控件,被触发后执行设置串口数据停止位位数动作; 建立“打开串口按钮”控件,被触发后执行串口打开动作; 建立“关闭串口按钮,,控件,被触发后执行串口关闭,停止通信动作; 步骤4 读取串口缓冲区中所有数据并显示到“接收数据显示框”控件,同时判断“发送数据按钮”控件是否被触发,若“发送数据按钮”控件被触发则执行步骤5 ;步骤5 检测“发送数据输入框”控件中是否有数据,若有数据,则将“发送数据输入框” 控件中的数据以ASCII码形式写入串口。具体实现方案如下 (1)、基本收发界面设计在Qt Creator中新建工程myCom。新建工程需要的工程文件qextserialbase. cpp和 qextserialbase. h 及 posix_qextserialport. cpp 禾口 posix—qextserialport. h。在建立白勺工程的ui文件当中添加Text Browser和Line Edi部件,另外添加一个发送数据用的按钮。 其中的Text Browser区用来显示接收到的数据,即所述的“接收数据显示框”控件。Line Edit区用来输入要发送的数据,即为所述的“发送数据输入框”控件,sendmsg按钮,即“发送数据按钮”控件,用来发送数据。保持各部件的属性为默认值即可。(2)、定义串口对象指定串口名和查询模式,Linux下使用Polling。利用Posix_QextSerialPort函数实现串口 myCom =new Posix_QextSerialPort ( "/dev/ttySO,,, QextSerialBase :Polling)。(3)、串口参数设置建立“串口波特率按钮”控件,该控件被触发后执行 myCom->setBaudRate (BAUD9600)函数,设置波特率,这里设置为9600。建立“串口数据位数按钮”控件,该控件被触发后执行 myCom->setDataBits (DATA_8)设置串口数据位数,本实施例设置数据位为8位。建立“设置有无奇偶校验按钮”控件,该控件被触发后执行 myCom->setParity (PAR_N0NE),设置有无奇偶校验位,本实施例设置为无奇偶校验位。建立“设置停止位位数按钮”控件,该控件被触发后执行 myCOm->setMOpBits(ST0P_l),设置停止位位数,本实施例设置为1位本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张新村刘威
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术