System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及红外遥控器数据解码,具体而言,涉及一种基于定时器的红外遥控器解码方法及装置。
技术介绍
1、目前红外遥控器的解码一般有两种方式,一种是硬件解码,即通过专用的解码芯片完成解码;另一种方式是软件解码,通过单片机的一个外部中断引脚和一个定时器来实现信号采样并完成解码。基于专用芯片的解码方式在设计上相对简单,但会增加一定的硬件成本,在某些场景下已经越来越不具备竞争优势。使用软件解码方式时需要占用单片机的一个外部中断引脚和一个定时器,外部中断对于单片机来说属于重要的外设资源,很多功能都对其有强烈的依赖,如果使用软件解码,则会影响单片机的很多功能的实现,降低单片机的工作效率;比如,在使用软件解码方式中直接采样电平,在采用这种方式来实现时,则对遥控器的发送频率有很严格的要求,即高电平的0.56ms不能产生过大的偏差,一旦产生偏差,则相对靠后传输的数据位的采样准确率会大大的下降。而基于测试数据,不同批次的遥控器其传输的波形频率是存在偏差的,以至于通过直接采样的方式无法正确识别不同批次的遥控器波形。
技术实现思路
1、为了解决上述问题,本申请实施例提供了一种基于定时器的红外遥控器解码方法及装置。
2、第一方面,本申请实时例提供了一种基于定时器的红外遥控器解码方法,包括如下步骤:
3、s1:将红外接收电路的红外io口与单片机的io相连,将红外io口配置为输入功能,将定时器中断配置为第一预设时长,开启定时器中断;
4、s2:在红外遥控器将数据传输至定时器
5、s3:获取在连续两次同类型的电平跳变之间的定时中断的中断次数;
6、s4:在将中断次数和设定值进行比较时判定是否满足预设条件,如果满足预设条件则判定红外遥控器在两次同类型的电平跳变之间传输一个bit“0”,如果不满足预设条件则判定红外遥控器在在两次同类型的电平跳变之间传输一个bit“1”;
7、s5:缓存bit“0”或者bit“1”数据,继续对后面的电平进行采样,返回步骤s3。
8、优选的,步骤s3中具体包括:
9、s31:在第一个高电平的状态为上升沿时开始记录定时中断,在与第一高电平连续设置的第二个高电平的状态为上升沿时停止记录定时中断,获取记录数据;
10、s32:根据记录数据计算获取位于两个上升沿之间的定时中断的中断次数。
11、优选的,步骤s4中在将中断次数和设定值进行比较时判定是否满足预设条件具体包括:将中断次数与设定值进行比较,如果中断次数少于设定值,则判定满足预设条件,如果中断次数不小于设定值,则判定不满足预设条件。
12、优选的,步骤s5之后还包括:
13、s6:在满足数据传输完成条件时停止采样。
14、优选的,所述设定值为12。
15、第二方面,本申请实施例提供了一种基于定时器的红外遥控器解码装置,包括
16、配置模块,用以将红外接收电路的红外io口与单片机的io相连,将红外io口配置为输入功能,将定时器中断配置为第一预设时长,开启定时器中断;
17、采样模块,用以在红外遥控器将数据传输至定时器时对定时器的红外io口的电平进行采样;
18、次数获取模块,用以获取在连续两次同类型的电平跳变之间的定时中断的中断次数;
19、判定模块,用以在将中断次数和设定值进行比较时判定是否满足预设条件,如果满足预设条件则判定红外遥控器在两次同类型的电平跳变之间传输一个bit“0”,如果不满足预设条件则判定红外遥控器在在两次同类型的电平跳变之间传输一个bit“1”;
20、存储模块,用以缓存bit“0”或者bit“1”数据。
21、优选的,所述次数获取模块包括
22、记录单元,用以在第一次电平跳变为第一个高电平的上升沿时开始记录定时中断,在第二次电平跳转为与第一个高电平连续设置的第二个高电平的上升沿时停止记录定时中断,获取记录数据;
23、计算单元,用以根据记录数据计算获取位于两个上升沿之间的定时中断的中断次数。
24、优选的,所述判定模块,用以将中断次数与设定值进行比较,如果中断次数少于设定值,则判定满足预设条件,如果中断次数不小于设定值,则判定不满足预设条件。
25、第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
26、第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
27、本专利技术的有益效果为:获取在连续两次同类型的电平跳变之间的定时中断的中断次数,根据中断次数和设定值的比较情况判定红外遥控器在两次同类型的电平跳变之间传输一个bit“0”或者一个bit“1”,在保证解码准确率的前提下,不占用单片机的外部中断,仅占用一个定时器资源即可完成,同时相比于现有技术中直接采样电平,本申请中采用电平跳变判断的方式来采样波形,消除了累计误差对于波形采样的影响。
本文档来自技高网...【技术保护点】
1.一种基于定时器的红外遥控器解码方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种基于定时器的红外遥控器解码方法,其特征在于,步骤S3中具体包括:
3.如权利要求1或2所述的一种基于定时器的红外遥控器解码方法,其特征在于,步骤S4中在将中断次数和设定值进行比较时判定是否满足预设条件具体包括:将中断次数与设定值进行比较,如果中断次数少于设定值,则判定满足预设条件,如果中断次数不小于设定值,则判定不满足预设条件。
4.如权利要求1或2所述的基于定时器的红外遥控器解码方法,其特征在于,步骤S5之后还包括:
5.如权利要求1或2所述的基于定时器的红外遥控器解码方法,其特征在于,
6.一种基于定时器的红外遥控器解码装置,其特征在于,包括
7.如权利要求6所述的一种基于定时器的红外遥控器解码装置,其特征在于,所述次数获取模块包括
8.如权利要求6或7所述的一种基于定时器的红外遥控器解码装置,其特征在于,所述判定模块,用以将中断次数与设定值进行比较,如果中断次数少于设定值,则判定满足预设条件,如果中
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
...【技术特征摘要】
1.一种基于定时器的红外遥控器解码方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种基于定时器的红外遥控器解码方法,其特征在于,步骤s3中具体包括:
3.如权利要求1或2所述的一种基于定时器的红外遥控器解码方法,其特征在于,步骤s4中在将中断次数和设定值进行比较时判定是否满足预设条件具体包括:将中断次数与设定值进行比较,如果中断次数少于设定值,则判定满足预设条件,如果中断次数不小于设定值,则判定不满足预设条件。
4.如权利要求1或2所述的基于定时器的红外遥控器解码方法,其特征在于,步骤s5之后还包括:
5.如权利要求1或2所述的基于定时器的红外遥控器解码方法,其特征在于,
6.一种基于定时器的红外遥控器解码...
【专利技术属性】
技术研发人员:张青松,沈陈洋,杨柳,曾利华,王永胜,邱定,陶永晶,卜俭青,赵娜,
申请(专利权)人:杭州海兴电力科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。