一种启动模拟串口通信的方法和装置的制造方法

文档序号:9432507阅读:169来源:国知局
一种启动模拟串口通信的方法和装置的制造方法
【技术领域】
[0001]本发明属于通信领域,尤其涉及一种启动模拟串口通信的方法和装置。
【背景技术】
[0002]串口通信是指通过串行接口发送和接收串行数据流的一种通信方式,由于其具有传送数据的距离远的优点而被广泛使用,比如在一般的处理器中都会设置有串行接口引脚,通过该串行接口引脚可以方便的实现与其它设备的串行数据的通信。
[0003]对于没有串口功能的处理器,或者需要使用较多串口的处理器中,常常需要使用模拟串口来完成串口通信功能,通过对处理器中选择的I/O引脚通信线拉高或者拉低实现数据的传输。从而使得串口通信应用更为广泛。
[0004]在模拟串口未使用时,模拟串口的引线均为低电平,目前常常使用中断的方式进入模拟串口通信,由于模拟串口的抗干扰能力较差,容易受到环境等干扰信号而误进入模拟串口通信状态,影响通信的准确性和效率。

【发明内容】

[0005]本发明的目的在于提供一种启动模拟串口通信的方法,以解决现有技术由于模拟串口的抗干扰能力较差,容易受到环境等干扰信号而误进入模拟串口通信状态,影响通信的准确性和效率的问题。
[0006]第一方面,本发明实施例提供了一种启动模块串口通信的方法,所述方法包括:
[0007]根据预设的检测周期,获取模拟串口通信线的电平;
[0008]检测当前所属的指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数,所述N为大于或等于2的自然数;
[0009]如果在指定的连续检测周期个数内获取的高电平的个数是否大于预设阈值,则启动模拟串口通信,所述预设阈值为大于或等于2,且小于N的自然数。
[0010]结合第一方面,在第一方面的第一种可能实现方式中,所述检测当前所属的指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数步骤包括:
[0011]设置一个数组H,所述数组中元素的个数与指定的连续检测周期个数N相一致,并初始化数组中各个元素的值为O ;
[0012]将每个检测周期内获取的模拟串口通信的电平数据依次循环写入所述数组H,当所述模拟串口通信为高电平记录对应的元素为1,当所述模拟串口通信为低电平记录对应的元素为O ;
[0013]在每次写入后检测数组中各个元素的和作为指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数。
[0014]结合第一方面,在第一方面的第二种可能实现方式中,所述将每个检测周期内获取的模拟串口通信的电平数据依次循环写入所述数组H步骤包括:
[0015]根据数据的先后顺序,将获取的串口的电平数据依次写入数据,当写完数组最后一个元素时,转向数组的第一个元素后重新依次写入。
[0016]结合第一方面,在第一方面的第三种可能实现方式中,所述方法还包括:
[0017]接收设置指令,所述设置指令中包括设置所述指定的连续检测周期个数和/或设置阈值。
[0018]结合第一方面,在第一方面的第四种可能实现方式中,所述指定的连续检测周期个数为3,所述预设的阈值为2。
[0019]第二方面,本发明实施例提供了一种启动模块串口通信的装置,所述装置包括:
[0020]电平获取单元,用于根据预设的检测周期,获取模拟串口通信线的电平;
[0021]高电平个数检测单元,用于检测当前所属的指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数,所述N为大于或等于2的自然数;
[0022]串口通信启动单元,用于如果在指定的连续检测周期个数内获取的高电平的个数是否大于预设阈值,则启动模拟串口通信,所述预设阈值为大于或等于2,且小于N的自然数。
[0023]结合第二方面,在第二方面的第一种可能实现方式中,所述高电平个数检测单元包括:
[0024]数组设置子单元,用于设置一个数组H,所述数组中元素的个数与指定的连续检测周期个数N相一致,并初始化数组中各个元素的值为O ;
[0025]循环写入子单元,用于将每个检测周期内获取的模拟串口通信的电平数据依次循环写入所述数组H,当所述模拟串口通信为高电平记录对应的元素为1,当所述模拟串口通信为低电平记录对应的元素为O ;
[0026]高电平个数获取子单元,用于在每次写入后检测数组中各个元素的和作为指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数。
[0027]结合第二方面,在第二方面的第二种可能实现方式中,所述循环写入子单元具体用于:
[0028]根据数据的先后顺序,将获取的串口的电平数据依次写入数据,当写完数组最后一个元素时,转向数组的第一个元素后重新依次写入。
[0029]结合第二方面,在第二方面的第三种可能实现方式中,所述装置还包括:
[0030]设置指令接收单元,用于接收设置指令,所述设置指令中包括设置所述指定的连续检测周期个数和/或设置阈值。
[0031]结合第二方面,在第二方面的第四种可能实现方式中,所述指定的连续检测周期个数为3,所述预设的阈值为2。
[0032]在本发明中,根据预设的检测周期获取模拟串口通信线的电平,检测包括当前时间在内的N个检测周期获取的通信线为高电平的个数,如果高电平的个数大于预设阈值,则启动模拟串口通信,所述预设阈值为大于或等于2,且小于N的自然数。本发明和现有技术相比,通过将突发的干扰高电平信号的个数与预设的阈值比较,从而能够有效的过滤干扰信号对模拟串口启动的影响,提高模拟串口通信的准确性以及通信效率。
【附图说明】
[0033]图1是本发明实施例提供的启动模块串口通信的方法的实现流程图;
[0034]图2是本发明实施例提供的获取的模块串口通信线为高电平的个数方法的实现流程图;
[0035]图3是本发明实施例提供的启动模块串口通信的方法的实现流程图;
[0036]图4为本发明实施例提供的启动模拟串口通信的装置的结构示意图。
【具体实施方式】
[0037]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038]本发明实施例的目的在于提供一种启动模拟串口通信的方法,以克服现有技术中在启动模拟串口通信时,由于突发的干扰信号而造成误启动模拟串口通信的情况。比如在未启动模拟串口通信时,模拟串口的通信线均为低电平,当有干扰的高电平信号时,则处理器检测到高电平时,误以为已启动模拟串口通信,从而需要处理器对接下来的非通信的电平数据进行处理,既浪费了宝贵的处理器的资源,又容易造成数据通信出错。
[0039]为克服上述缺陷,本发明提出了一种启动模块串口通信的方法,所述方法包括:根据预设的检测周期,获取模拟串口通信线的电平;检测当前所属的指定的连续检测周期个数N内获取的模块串口通信线为高电平的个数,所述N为大于或等于2的自然数;如果在指定的连续检测周期个数内获取的高电平的个数是否大于预设阈值,则启动模拟串口通信,所述预设阈值为大于或等于2,且小于N的自然数。
[0040]本发明根据预设的检测周期获取模拟串口通信线的电平,检测包括当前时间在内的N个检测周期获取的通信线为高电平的个数,如果高电平的个数大于预设阈值,则启动模拟串口通信,所述预设阈值为大于或等于2,且小于N的自然数。本发明和现有技术相比,通过将突发的干扰高电平信号的个数与预设的阈值比较,从而能够有效的过滤干扰信号对模拟串口启动的影响,提高模拟串口通信的准确性以及通信效率。下面结合附图具体说明。
[0041]图1示出了本发明实施例提供的启动模拟串
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1