⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ir.c

📁 键盘设备驱动,只需修改代码里的功能码和系统码即可使用
💻 C
字号:
#include <linux/kernel.h>#include <linux/module.h>#include "iop.h"void init_ir(void);#define	UINT32	u32#define	UINT16	u16UINT32 *iop_data=(UINT32 *)0xbffe8720;#define IR_PHILIPS#define  IR_IDcode                      0x0007#ifdef IR_PHILIPS       #define IOP_IR_DATA()		((iop_data[6]>>6)&0x5f)  //((iop_data[6]>>6)&0x5f)#define TRANS_IR_CODE(rx)	(rx&0x003f)#else#define IOP_IR_DATA()		(iop_data[6])#define TRANS_IR_CODE(rx)	reverse_fun(rx)#endifint ir_flag = 0;void reset_ir(void){	iop_data[IR_PORT]|=IrRepeatRate(4);}void init_ir(){	reset_ir();}int read_ir(void){	UINT16 rx;    	UINT16 unCustId;	rx = iop_data[IR_PORT];	if (!(rx & IR_RDY)) {		return /*IRC_NULL*/-1;	}	else {		unCustId = IOP_IR_DATA();        		iop_data[IR_PORT] = rx & (~IR_RDY);  		rx = rx & 0x0ff;				 if(unCustId==IR_IDcode)		 {  		 	//printk("unCustId=%x\n",unCustId);			ir_flag = 0;		  	return rx;		 }		else if(unCustId == 0x0003)		 {		 	ir_flag = 1;		   	return rx;		}		else		{			rx=0x007f;   // return none      huang		   	return rx;		}			/*		printk("unCustId=%x\n",unCustId);		printk("rx = %x\n",rx);		return rx;		*/		}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -