【摘要】 本发明涉及一种在嵌入式系统中用软件实现红外遥控解码的方法。它包括步骤:(1)将红外遥控接收器的OUT引脚连接到嵌入式微处理器的一个具有沿中断能力的GPIO引脚。(2)初始化程序,把GPIO中断方式设为下降沿中断。(3)红外遥控脉冲序列通过GPIO引脚并发生下降沿中断时,触发微处理器内的解码程序运行。(4)利用GPIO中断和预先设定的引导码和连发码的编码规则完成对引导码或连发码的有效性判断;(5)若步骤(4)中引导码有效,则继续利用GPIO中断和预先设定的数据位“0”和数据位“1”的编码规则完成对数据码的解码。本发明的有益效果是:有效的降低系统的成本和复杂度,使得系统更灵活、适应性更强。 【专利类型】发明授权 【申请人】成都九洲电子信息系统有限责任公司 【申请人类型】企业 【申请人地址】610041 四川省成都市高新区天府大道中段765号 【申请人地区】中国 【申请人城市】成都市 【申请人区县】武侯区 【申请号】CN200810046471.0 【申请日】2008-11-06 【申请年份】2008 【公开公告号】CN101404113B 【公开公告日】2010-11-17 【公开公告年份】2010 【授权公告号】CN101404113B 【授权公告日】2010-11-17 【授权公告年份】2010.0 【IPC分类号】G08C23/04 【发明人】余化鹏; 邢保振 【主权项内容】一种在嵌入式系统中用软件实现红外遥控解码的方法,其特征在于,包括步骤:(1)将红外遥控接收器的输出端OUT引脚连接到嵌入式微处理器的一个具有沿中断能力的通用输入/输出端口GPIO引脚,以便红外遥控接收器接收到的红外遥控脉冲序列通过GPIO引脚进入嵌入式微处理器;(2)初始化程序,把GPIO中断方式设为下降沿中断,解码状态机状态置为“引导码低开始”;(3)当红外遥控接收器接收到的红外遥控脉冲序列通过GPIO引脚并发生下降沿中断时,触发微处理器内的解码程序运行;(4)利用GPIO中断和预先设定的引导码和连发码的编码规则完成对引导码或连发码的有效性判断;本步骤具体包括步骤:(41)当第一个GPIO中断产生时,判断GPIO解码状态机状态是否为“引导码低开始”,是则将下一个GPIO中断设为上升沿中断,解码状态机状态置为“引导码低结束”,等待下一个GPIO中断的发生;(42)当下一个GPIO中断产生时,判断解码状态机状态是否为“引导码低结束”,是则将把GPIO中断方式设为下降沿中断;进一步判断红外遥控脉冲序列的低电平长度是否合法,低电平长度合法则将解码状态机状态置为“引导码高结束”,低电平长度不合法则将解码状态机状态置为“引导码低开始”;最后等待下一个GPIO中断的发生;(43)当下一个GPIO中断产生时,判断解码状态机状态是否为“引导码高结束”,是则进一步判断红外遥控脉冲序列的高电平长度是否合法,高电平长度合法则引导码有效,同时将解码状态机状态置为“数据码解码”;高电平长度不合法则判断连发码是否有效,若连发码有效则将连发码入队,并将解码状态机状态置为“引导码低开始”,若连发码无效则直接将解码状态机状态置为“引导码低开始”;最后等待下一个GPIO中断的发生;(5)若步骤(4)中引导码有效,则继续利用GPIO中断和预先设定的数据位“0”和数据位“1”的编码规则完成对数据码的解码。 【当前权利人】成都九洲电子信息系统股份有限公司 【当前专利权人地址】四川省成都市高新区天府大道中段765号天府软件园 【家族被引证次数】34