RK3568的红外遥控

本文详细介绍了基于RK3568的红外遥控协议,包括NEC和RC5协议的解析,以及如何编写中断驱动来解码遥控数据。通过设备树配置和中断服务函数实现,实现了对红外遥控信号的有效识别和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

今天来学习基于RK3568的红外遥控,学习完本小节,你可以了解到红外的协议,驱动是如何解析红外数据,完完全全可以自己编写一个红外驱动。


提示:以下是本篇文章正文内容,下面案例可供参考

一、红外协议

常见的红外协议有以下几个:
NEC、RC5、RC6、SONY

这里主要介绍NEC和RC5.

NEC协议

载波频率为38KHz

数据格式如下:

在这里插入图片描述
由引导码开始,标志数据开始,接着就是真正数据(32位):地址 + 地址取反 + 数据 + 数据取反
其中这个地址就好比是用户码,标志不同的遥控,数据就是我们遥控上面的按键的值
这里之所以取反是为了校验数据,真正的数据是 地址+数据

引导码:

这个引导码由一个9ms的低脉冲加上一个4.5ms的高脉冲组成,它用来通知接收方我要开始传输数据了,如下所示:

### RK3576 红外遥控调试方法 #### 一、硬件连接确认 确保红外接收模块已按照硬件原理图正确安装到RK3576开发板上。对于PWM红外接口,在reference mode下,当按下遥控器按钮时,红外接收头会检测到来自遥控器发出的一系列高低电平变化并触发中断事件给处理器[^3]。 #### 二、内核配置调整 参照官方文档或已有案例完成Linux Kernel中有关IR子系统的设置,特别是针对Rockchip SoC特有的部分。这通常涉及修改DTS文件来描述具体的硬件资源分配情况以及使能必要的驱动程序选项[^1]。 ```bash # 修改设备树源码(.dts) &i2c_ir { status = "okay"; }; &pwm_ir { rockchip,pins = <PINCTRL_PIN(4, PINMUX_FUNC_PWM_IR)>; }; ``` #### 三、输入映射处理 为了实现物理按键与系统操作之间的关联,需创建或编辑`/dev/input/eventX`对应的keymap规则文件。这里需要注意区分不同类型的Android键值表和Linux input层的标准定义差异[^2]。 ```shell getevent -l /dev/input/event* | grep KEY_ # 查找当前可用的按键名称 setkeycodes <scancode> <keysym> ``` #### 四、应用程序层面的支持 最后一步是在应用框架里注册监听特定广播动作(如MEDIA_BUTTON),从而响应来自外部控制器的操作指令。如果目标是让媒体播放软件能够识别音量增减等功能,则还需进一步定制Activity生命周期管理逻辑。 ```java public class RemoteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_MEDIA_BUTTON.equals(action)) { KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); int keyCode = event.getKeyCode(); switch(keyCode){ case KeyEvent.KEYCODE_VOLUME_UP: // 处理音量增加... break; case KeyEvent.KEYCODE_VOLUME_DOWN: // 处理音量降低... break; } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知道起个啥名“”

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值