一种串口数据处理方法及系统的制作方法

文档序号:9326842阅读:354来源:国知局
一种串口数据处理方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种通信技术,特别是涉及一种串口数据处理方法及系统。
【背景技术】
[0002]串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传输速度较慢。由于串口使用简单,成本低廉,现在被普遍应用于产品的开发和测试过程中。目前有很多的串口通信软件,比如SecureCRT,Xshell等,利用这些工具可以方便地处理串口数据。但应用串口进行通信测试时存在一些问题,例如经常会出现串口打印速度过快,测试人员还没来得及查看之前的内容,显示区域就被后面的信息给覆盖了。同时在串口传输的日志中,很多信息是无用信息,如果测试人员想过滤串口的信息,普通的串口通信软件就不支持。
[0003]鉴于此,如何找到一种更好的处理串口数据的技术方案成为了本领域技术人员亟待解决的问题。

【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种串口数据处理方法及系统,用于解决现有技术中串口通信数据处理时不能调节打印速度、提供数据过滤功能的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种串口数据处理方法,所述串口数据处理方法包括:在串口和输出设备间设置一个先进先出输出缓冲区;将从串口输出的数据存储到所述先进先出输出缓冲区;根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备。
[0006]可选地,所述串口数据处理方法包括:在串口和输入设备间设置一个先进先出输入缓冲区;将从输入设备输入到串口的数据存储到所述先进先出输入缓冲区;根据设定输入速度从所述先进先出输入缓冲区获取数据输入到串口。
[0007]可选地,根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备的具体实现包括:根据所述设定输出速度设置一时间阈值;每隔所述时间阈值,则从所述先进先出输出缓冲区获取设定数量的字符输出到所述输出设备。
[0008]可选地,所述输出设备包括显示器或打印机。
[0009]可选地,所述串口数据处理方法还包括:当所述先进先出输出缓冲区满时,自动为所述先进先出输出缓冲区大小增加预设值。
[0010]可选地,所述串口数据处理方法还包括:当所述先进先出输出缓冲区满时,自动发出所述先进先出输出缓冲区满的提示信息。
[0011]可选地,所述串口数据处理方法还包括:根据设定关键字对从所述输出缓冲区获取的数据进行过滤后输出到所述输出设备。
[0012]本发明提供一种串口数据处理系统,所述串口数据处理系统包括:输出缓存设置模块,用于在串口和输出设备间设置一个先进先出输出缓冲区,所述先进先出输出缓冲区用于存储串口输出的数据;输出缓存控制模块,用于根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备。
[0013]可选地,所述输出缓存控制模块根据所述设定输出速度设置一时间阈值;每隔所述时间阈值,则从所述先进先出输出缓冲区获取设定数量的字符输出到所述输出设备。
[0014]可选地,所述输出缓存控制模块还用于:修改所述输出设定速度。
[0015]可选地,所述输出设备包括显示器或打印机。
[0016]可选地,所述输出缓存控制模块还用于:当所述先进先出输出缓冲区满时,自动为所述先进先出输出缓冲区大小增加预设值。
[0017]可选地,所述输出缓存控制模块还用于:当所述先进先出输出缓冲区满时,自动发出所述先进先出输出缓冲区满的提示信息。
[0018]可选地,所述输出缓存控制模块还用于:根据设定关键字对从所述输出缓冲区获取的数据进行过滤后输出到所述输出设备。
[0019]可选地,所述串口数据处理系统还包括:输入缓存设置模块,用于在串口和输入设备间设置一个先进先出输入缓冲区,所述先进先出输入缓冲区用于存储所述输入设备输入到串口的数据;输入缓存控制模块,用于根据设定输入速度从所述先进先出输入缓冲区获取数据输入到串口。
[0020]如上所述,本发明的串口数据处理方法及系统,具有以下有益效果:1.输出设备接收串口数据的速度可调节,根据测试人员的需要,加快或减慢输出设备接收的串口数据速度;2.支持串口数据的关键字过滤。在普通的串口处理上,用户无法直接过滤关键字,以过滤出自己关心的日志。本方案中,可以在“先进先出”输出的地方,过滤用户的关键字,以达到过滤的效果。
【附图说明】
[0021]图1显示为本发明的串口数据处理方法的一实施例的流程示意图。
[0022]图2显示为本发明的串口数据处理系统的一实施例的模块示意图。
[0023]元件标号说明
[0024]I串口数据处理系统
[0025]11输出缓存设置模块
[0026]12输出缓存控制模块
[0027]SI ?S3步骤
【具体实施方式】
[0028]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0029]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0030]本发明提供一种串口数据处理方法。串口的波特率一般固定,因此,不可能通过降低波特率的方法去减慢串口数据的输出。本方案中,串口数据处理会有一个很大的先进先出缓冲区,我们称之为“FIFO”(First Input First Output的缩写),在先进先出缓冲区中,FIFO按数据到达先进先出缓冲区的先后顺序让数据进入队列(输入数据到FIFO),同时,FIFO在队列的出口让数据按进队的顺序出队(从FIFO输出数据),先进的数据将先出队,后进的数据将后出队。串口的输出数据先进入“FIFO”,然后再从“FIFO”中输出到输出设备。虽然不能改变串口的输出速度,但是可以通过改变“FIFO”的输出速度以达到减慢输出速度的效果。在一个实施例中,如图1所示,所述串口数据处理方法包括:
[0031 ] 步骤SI,在串口和输出设备间设置一个先进先出输出缓冲区。在一个实施例中,在串口和输出设备间设置一个先进先出输出缓冲区,所述先进先出输出缓冲区的大小可以根据需要设置,比如设置为16M,该先进先出输出缓冲区可以缓冲很多数据,起到对从串口输出到所述输出设备的数据缓冲的效果。当从串口输出数据到所述先进先出输出缓冲区时,相应的增加存储到先进先出输缓冲区的数据大小。当从所述先进先出输出缓冲区中获取数据输出到所述输出设备时,则先进先出输出缓冲区将删除输出到所述输出设备的数据,或标识输出到所述输出设备的数据为无效。同时,相应的减少存储到先进先出输缓冲区的数据大小。当存储到先进先出输缓冲区的数据大小为O时,则不能再从所述先进先出输出缓冲区中获取数据输出到所述输出设备。
[0032]步骤S2,将从串口输出的数据存储到所述先进先出输出缓冲区。具体地,将从串口输出到所述输出设备的数据缓存到所述先进先出输出缓冲区。在一个实施例中,当存储到先进先出输缓冲区的数据大小超过先进先出输出缓冲区的大小时,则会造成先进先出输出缓冲区;对于这种情况,即当所述先进先出输出缓冲区满时,将自动为所述先进先出输出缓冲区大小增加预设值。比如原先先进先出输出缓冲区的大小是16M,所述预设值为16M,则自动为所述先进先出输出缓冲区大小增加预设值,将先进先出输出缓冲区的大小增加到32M。在一个实施例中,先进先出输出缓冲区的大小的上限是1G,如果到达1G,则将提示用户,先进先出输出缓冲区已经满了,此时,需要释放缓冲区,或者将缓冲区的内容写到本地的文件中。所述串口数据处理方法还包括:当所述先进先出输出缓冲区满时,自动发出所述先进先出输出缓冲区满的提不ig息。
[0033]步骤S3,根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备。在一个实施例中,根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备的具体实现包括:根据所述设定输出速度设置一时间阈值;每隔所述时间阈值,则从所述先进先出输出缓冲区获取设定数量的字符输出到所述输出设备。在一个实施例中,根据设定输出速度从所述先进先出输出缓冲区获取数据输出到所述输出设备的具体实现包括:根据所述设定输出速度配置定时器,当定时器超时,从所述先进先出输出缓冲区获取一个字符输出到所述输出设
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1