LIRC源码分析(1)

本文详细介绍了LIRC(Linux红外遥控控制)的架构,包括其关键组件和工作流程。LIRC通过关联驱动、核心驻留程序lircd以及应用程序,实现了红外信号的解码和发送。它允许用户根据需要定制驱动或直接利用系统提供的驱动来控制红外设备。

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

LIRC是Linux Infrared remote control的简写, 是红外信号解码和发送的开源套件。

 

首先我们看一下LIRC的架构:

 

 

从这个架构图看出,LIRC关键的地方有几点:一是LIRC关联的驱动,二是解码驻留程序lircd,这个是LIRC的核心,三是工具或者应用程序。

 

LIRC关联驱动有两种模式:

1. 用户不需要关心或者加入新驱动,lircd直接控制系统提供的驱动,例如串口驱动;

2.用户需要关心驱动,增加符合LIRC驱动模型的驱动。

 

而lircd是LIRC开源代码库的核心所在。这个驻留程序从LIRC驱动中读取红外信号的波形数据,并根据用户配置的红外协议解析出遥控器按键信息,并广播按键信息。

 

应用程序接收广播的按键消息,并根据实际需要转化为具体动作。

 

 

linzihao@linzihao-virtual-machine:~/Code/test/coursework2/work5/linux-5.15.93$ make -j 8 Makefile:662: include/config/auto.conf: 没有那个文件或目录 Makefile:717: include/config/auto.conf.cmd: 没有那个文件或目录 SYNC include/config/auto.conf.cmd .config:898:warning: symbol value 'm' invalid for HOTPLUG_PCI_SHPC .config:1126:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE .config:1154:warning: symbol value 'm' invalid for NF_NAT_REDIRECT .config:1157:warning: symbol value 'm' invalid for NF_TABLES_INET .config:1158:warning: symbol value 'm' invalid for NF_TABLES_NETDEV .config:1341:warning: symbol value 'm' invalid for NF_TABLES_IPV4 .config:1346:warning: symbol value 'm' invalid for NF_TABLES_ARP .config:1388:warning: symbol value 'm' invalid for NF_TABLES_IPV6 .config:1906:warning: symbol value 'm' invalid for NET_DEVLINK .config:2058:warning: symbol value 'm' invalid for MTD_NAND_ECC .config:3519:warning: symbol value 'm' invalid for ISDN_CAPI .config:4001:warning: symbol value 'm' invalid for HW_RANDOM_TPM .config:4950:warning: symbol value 'm' invalid for LIRC .config:5761:warning: symbol value 'm' invalid for HSA_AMD .config:6175:warning: symbol value 'm' invalid for SND_SOC_INTEL_SST_TOPLEVEL .config:6180:warning: symbol value 'm' invalid for SND_SOC_INTEL_MACH .config:7793:warning: symbol value 'm' invalid for PVPANIC .config:7867:warning: symbol value 'm' invalid for REMOTEPROC * * Restart config... * * * General setup * Compile also drivers which will not load (COMPILE_TEST) [N/y/?] n Compile the kernel with warnings as errors (WERROR) [N/y/?] (NEW) Z——这是怎么回事?
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值