一种单片机串口接收数据的处理方法

文档序号:6547564阅读:2673来源:国知局
一种单片机串口接收数据的处理方法
【专利摘要】本发明公开了一种单片机串口接收数据的处理方法,属于串口数据处理领域。该方法是先建立数据缓存数组,然后将接收的数据按先后顺序依次放入数据缓存数组中,当数据接收完后,单片机再按放入的顺序依次对数据缓存数组中的数据进行处理,实现数据先放入先处理,后放入后处理。本发明能使单片机有序地对所有接收到的数据进行处理,有效降低了丢包现象的发生率。
【专利说明】一种单片机串口接收数据的处理方法
【技术领域】
[0001]本发明涉及一种单片机串口接收数据的处理方法,属于串口数据处理领域。
【背景技术】
[0002]在物联网领域中离不开数据的接收与处理,串口作为一种常用的通讯方式,其在物联网中有着广泛的运用。
[0003]目前,单片机串口接收数据的处理方式通常是接收完一组数据后,立刻对该组数据进行处理,并且只有把前一组数据处理完后才能接收下一组数据,这样当有多组数据连续传入单片机时,会导致单片机出现丢包现象。

【发明内容】

[0004]本发明针对【背景技术】中的问题,而提出一种单片机串口接收数据的处理方法,以降低丢包概率。
[0005]本发明为解决以上技术问题,采用如下技术方案:
[0006]一种单片机串口接收数据的处理方法,该方法包括以下步骤:
[0007]步骤一:建立数据缓存数组,并定义用于指向数据缓存数组中元素的数据写入指针和数据读出指针;
[0008]步骤二:打开串口中断,单片机每接收到一个数据后,自动进入串口中断服务程序;
[0009]步骤三:在串口中断服务程序中,单片机用接收到的数据覆盖数据写入指针指向的元素,并将数据写入指针加一;
[0010]步骤四:当所有数据接收完后,单片机对数据读出指针指向的元素进行处理,并将数据读出指针加一,直至所有数据处理完为止。
[0011]进一步地,所述步骤四中所有数据处理完是表示数据读出指针指向的位置与数据写入指针指向的位置相同。
[0012]进一步地,所述数据缓存数组中的元素定义为无符号字符型。
[0013]技术效果:
[0014]1、改变了传统串口数据处理方式,将接收到的数据先暂存在数据缓存数组中,然后再按顺序依次处理,有效降低了丢包现象的发生率。
[0015]2、方法简单易行,可靠性高,具有良好的应用价值。
【具体实施方式】
[0016]下面对本发明的技术方案做进一步介绍:
[0017]本发明单片机串口接收数据的处理方法主要包括以下步骤:
[0018]步骤一:建立数据缓存数组,并定义用于指向数据缓存数组中元素的数据写入指针和数据读出指针,数据缓存数组中的元素定义为无符号字符型;[0019]步骤二:打开串口中断,单片机每接收到一个数据后,自动进入串口中断服务程序;
[0020]步骤三:在串口中断服务程序中,单片机用接收到的数据覆盖数据写入指针指向的元素,并将数据写入指针加一,使写入指针指向下一个元素;
[0021]步骤四:当所有数据接收完后(此阶段不再进入串口中断服务程序),单片机对数据读出指针指向的元素进行处理,并将数据读出指针加一,使读出指针指向下一个元素,如此依次处理数据,直至所有数据处理完为止。
[0022]在串口接收数据前,数据写入指针与数据读出指针均指向缓存数组中的首个元素,接收数据时,随着数据进入缓存数组,写入指针依次后移,在数据接收完后,写入指针指向末个数据下一位元素。随着数据开始处理,读出指针依次后移,在所有数据处理完后,读出指针也指向末个数据下一位元素。所以,在数据进行处理后,当数据读出指针指向的位置与数据写入指针指向的位置相同时,即表示所有数据处理完毕,单片机等待下一阶段数据接收,指针复位。
[0023]单片机将收到的数据按先后顺序依次放入数据缓存数组,在接收完后再依次处理,避免了连续传入数据而使单片机发生丢包现象。
【权利要求】
1.一种单片机串口接收数据的处理方法,其特征在于包括以下步骤: 步骤一:建立数据缓存数组,并定义用于指向数据缓存数组中元素的数据写入指针和数据读出指针; 步骤二:打开串口中断,单片机每接收到一个数据后,自动进入串口中断服务程序;步骤三:在串口中断服务程序中,单片机用接收到的数据覆盖数据写入指针指向的元素,并将数据写入指针加一; 步骤四:当所有数据接收完后,单片机对数据读出指针指向的元素进行处理,并将数据读出指针加一,直至所有数据处理完为止。
2.根据权利要求1所述的一种单片机串口接收数据的处理方法,其特征在于:所述步骤四中所有数据处理完是表示数据读出指针指向的位置与数据写入指针指向的位置相同。
3.根据权利要求1所述的一种单片机串口接收数据的处理方法,其特征在于:所述数据缓存数组中的元素定义为无符号字符型。
【文档编号】G06F13/38GK104021100SQ201410223379
【公开日】2014年9月3日 申请日期:2014年5月23日 优先权日:2014年5月23日
【发明者】叶强, 陈伟新, 肖运根 申请人:无锡市崇安区科技创业服务中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1