导语
红外遥控器在日常生活中非常常见,但你知道如何在Linux系统上编写一个红外驱动程序,让遥控器发挥它的作用吗?今天,我们就来一起解析一下Linux红外驱动程序的核心内容,帮助你理解其工作原理。
调试红外驱动的细节
- 红外遥控器发出的信号肉眼无法看到,需要用相机等设备进行观察。
- 红外接收管和普通二极管不同,使用时要特别注意。
NEC协议无线传输数据原理
NEC协议是红外遥控器常用的协议之一,其特点包括:
- 8位地址和8位指令长度。
- 地址和命令两次传输,确保可靠性。
- PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”。
- 载波频率为38KHz。
- 位时间为1.125ms和2.25ms。
Linux下的驱动接收程序
以下是Linux下红外驱动接收程序的代码片段:
/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. */
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define GPIO_IR_DRIVER_NAME
