[发明专利]提高串口数据接收正确性的方法和装置在审
申请号: | 201510335257.7 | 申请日: | 2015-06-16 |
公开(公告)号: | CN105446925A | 公开(公告)日: | 2016-03-30 |
发明(设计)人: | 贾天亮 | 申请(专利权)人: | 北京天诚盛业科技有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 北京恩赫律师事务所 11469 | 代理人: | 刘守宪;赵文成 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 串口 数据 接收 正确性 方法 装置 | ||
技术领域
本发明涉及数据传输领域,特别是指一种提高串口数据接收正确性的方法和装置。
背景技术
通用异步收发器(UniversalAsynchronousReceiverandTransmitter;UART)是用硬件实现异步串行通信的通信接口电路,UART异步串行通信接口是电子电路设计中最常见都接口,可用来与上位机或其他外部设备进行数据通信。由于UART应用的普通性,所以大部分微控制器内部都集成有UART模块。
UART模块以字节为单位接收数据,每接收一个字节或多个字节,UART模块就会设置一个中断标记,当微控制器使能了UART模块的中断使能后,就会触发一个中断操作,微控制器会中断当前的操作,跳到UART中断处理函数中执行相应的操作。
微控制器处理UART的中断操作如图1所示,而当前技术在用UART接收数据的操作如图2所示:
现有技术利用UART接收数据的操作存在的问题是:
一、微控制器的工作负荷大;由于微控制器要不断的进出中断来完成串口数据的接收工作,这就使的微控制器要不断的中断当前操作、保持中断现场、执行中断处理函数、然后退出中断、恢复中断现场,这就使得微控制器的工作负荷非常的大。
二、对微控制器当前进行的操作造成不利影响;微控制器在处理中断的时候需要中断当前的操作,频繁的进出中断将影响到其它的操作,甚至造成某些操作的失败。例如当某器件对操作时序要求非常严格的时候,如果在对此器件操作的过程,频繁的进出UART中断处理,将会使对此器件的操作失败,严重情况下可能会造成整个程序的崩溃。
三、降低了软件的运行速度和运行效率;微控制器频繁的进出UART中断,整体上降低了软件的运行速度和运行效率,因为微控制器的一部分的工作消耗到了保存中断现场、恢复中断现场上。
四、可能使数据的丢失,降低了数据接收的正确性;进入UART中断处理函数后,如果不能及时的退出该函数,将会造成UART接口新接收的数据还没来得及被读取,就被后面的数据所覆盖,UART的数据接收缓存的大小是一定的(一般为一个或几个字节),当已经有数据存储到了缓存中,下次有数据到来的时候,UART模块不管当前缓存中有没有数据,会直接将新数据放到UART缓存中,覆盖当前数据,从而造成数据的丢失。
发明内容
本发明提供一种提高串口数据接收正确性的方法和装置,该方法降低了微控制器的工作负荷,不会对微控制器当前进行的操作造成不利影响,提高了软件的运行速度和运行效率,提高了数据接收的正确性,以及降低了系统的功耗。
为解决上述技术问题,本发明提供技术方案如下:
一种提高串口数据接收正确性的方法,包括:
步骤S101:进入UART中断处理函数;
步骤S102:读取UART缓存,将接收到的数据保存到内存中;
步骤S103:清除UART中断标记;
步骤S104:检测UART中断标记,若检测到UART中断标记,则转至步骤S102。
一种提高串口数据接收正确性的装置,包括:
开始模块,用于进入UART中断处理函数;
读取模块,用于读取UART缓存,将接收到的数据保存到内存中;
清除模块,用于清除UART中断标记;
第一检测模块,用于检测UART中断标记,若检测到UART中断标记,则转至读取模块。
本发明具有以下有益效果:
与现有技术相比,本发明的提高串口数据接收正确性的方法中,在进入UART中断处理函数后,开始读取UART缓存中的数据到内存中,接收完成后,并不立刻退出,而是重新检测UART端口是否接收到了新的数据,如果接收到的话,继续读取UART缓存中的数据到内存中,直至数据接收完成。
本发明的提高串口数据接收正确性的方法降低了微控制器的工作负荷。本发明只需进入UART中断一次,就能完成串口数据的接收,微控制器不需要不断的中断当前操作、保持中断现场、执行中断处理函数、然后退出中断、恢复中断现场,这就降低了微控制器的工作负荷。
本发明的提高串口数据接收正确性的方法不会对微控制器当前进行的操作造成不利影响。由于本发明的方法在接收串口数据的时候,一次中断即可完成,不用频繁的进出中断从而影响到其它的操作,不会对整体程序的正常执行造成影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天诚盛业科技有限公司,未经北京天诚盛业科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510335257.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:节能液压装置及具有其的液压起重设备
- 下一篇:静电电容型输入装置及其制造方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置