【RK3568笔记】Android适配红外遥控器

概述

红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。

在这里插入图片描述

鉴于家用电器的品种多样化和用户的使用特点,生产厂家对进行了严格的规范编码,这些编码各不相同,从而形成不同的编码方式,统一称为红外遥控器编码传输协议。到目前为止,红外遥控协议已多达十种, 如: RC5、 SIRCS、 Sy、 RECS80、Denon、NEC、Motorola、Japanese、SAMSWNG 和 Daewoo 等。我国家用电器的红外遥控器的生产厂家,其编码方式多数是按上述的各种协议进行编码的,而用得较多的有 NEC 协议。目前 RK 平台也只支持 NEC 编码的红外协议。


RK 平台上红外实现原理简介

PWM 有三种工作模式, reference mode, one-shot modecontinuous mode. 红外遥控器就采用 reference mode,这种模式下 PWM 可以捕获输入高低电平的宽度,并产生中断,CPU接收到中断后去相应的寄存器读取。

按下遥控的时候,红外接收头会产生一系列的高低电平,PWM 就会产生相应的中断,CPU 读取相应的寄存器就知道这些高低电平的时间,根据协议就可以解码出红外的用户码和键值码出来。


RK3568遥控器添加方法

本文是在正点原子RK3568开发板上适配新的遥控器,适配步骤如下:

1、确定编译的配置

查看编译脚本中所用的配置,用于确认所用的设备树 rk3568-atk-evb1-ddr4-v10.dtsi

home/ho/rk3568_android_sdk/kernel-4.19/make.sh

在这里插入图片描述


2、确认新遥控器的USERCODE和码值

打开键值打印开关,按遥控器的按键,记录下对应的键值例如按下ResetPrtScr,有如下打印。
在这里插入图片描述

该遥控器的 usercode 是 0xbf4,Reset键值就是 0xbb 、PrtScr键值是0xa9。如此反复,直到打印完遥控器上的所有键值。


3、在设备树中添加配置

步骤1通过编译脚本确认当前使用设备树,在设备树中添加遥控器键码值。

/home/ho/rk3568_android_sdk/kernel-4.19/arch/arm64/boot/dts/rockchip/rk3568-atk-evb1-ddr4-v10.dtsi

&pwm7 {
   
   
	ir_key1 {
   
   
		/* Ho 适配新遥控器 */		
		rockchip,usercode = <0xbf4>;
		rockchip,key_table =
			<0xff KEY_POWER>,     	//电源
			<0xfe KEY_MUTE>,      	//静音
			<0xfd KEY_1>,		  	//1	
			<0xfc KEY_2>,		  	//2
			<0xfb KEY_3>,		  	//3
			<0xfa KEY_4>,		  	//4
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值