📄 ir.h
字号:
/******************************************************************************
Copyright (c) 2003 MStar Semiconductor, Inc.
All rights reserved.
[Module Name]: Ir.h
[Date]: 04-Feb-2004
[Comment]:
Remote control header file.
[Reversion History]:
*******************************************************************************/
#include "define.h"
#include "mcu.h"
#include "isr.h"
#ifndef _IR_H
#define _IR_H
#ifdef _IR_C_
#define _IRDEC_
#else
#define _IRDEC_ extern
#endif
///////////////////////
// IR Option
///////////////////////
//#define IR_DEBUG_EN
#define IR_CODE_DEBUG_EN 1
#if (IR_CODE_DEBUG_EN)
_IRDEC_ bit g_bIR_DebugCustomerCode0_OK;
_IRDEC_ bit g_bIR_DebugCustomerCode1_OK;
_IRDEC_ bit g_bIR_DebugData_OK;
_IRDEC_ XDATA BYTE g_ucIRDebugCode0;
_IRDEC_ XDATA BYTE g_ucIRDebugCode1;
_IRDEC_ XDATA BYTE g_ucIRDebugData;
#define IR_DebugCustomerCode0_OKFlag (g_bIR_DebugCustomerCode0_OK)
#define IR_DebugCustomerCode1_OKFlag (g_bIR_DebugCustomerCode1_OK)
#define IR_DebugData_OKFlag (g_bIR_DebugData_OK)
#define Set_IR_DebugCustomerCode0_OKFlag() (g_bIR_DebugCustomerCode0_OK=1)
#define Clr_IR_DebugCustomerCode0_OKFlag() (g_bIR_DebugCustomerCode0_OK=0)
#define Set_IR_DebugCustomerCode1_OKFlag() (g_bIR_DebugCustomerCode1_OK=1)
#define Clr_IR_DebugCustomerCode1_OKFlag() (g_bIR_DebugCustomerCode1_OK=0)
#define Set_IR_DebugData_OKFlag() (g_bIR_DebugData_OK=1)
#define Clr_IR_DebugData_OKFlag() (g_bIR_DebugData_OK=0)
_IRDEC_ void irDebugHandler(void);
#endif
//////////////////////////////////////
// Definition
//////////////////////////////////////
#define pinIr P3_2
//////////////////////////////////////
// IR Header Code
//////////////////////////////////////
#if (IR_TYPE==IR_RC5)
#elif (IR_TYPE==IR_NEC)
#if (IR_NEC_TL10S)
#define IR_HEADER_CODE0 0x03
#define IR_HEADER_CODE1 0xFC
#else
#define IR_HEADER_CODE0 0x00
#define IR_HEADER_CODE1 0x7B
#endif
#elif (IR_TYPE==IR_TOSHIBA)
#define IR_HEADER_CODE0 0x18
#define IR_HEADER_CODE1 0x18
#endif
//////////////////////////////////////
// IR command delay time
//////////////////////////////////////
#define IR_OVERFLOW 0xFF
#define IR_DELAY_TIME 10
#define IR_RELEASE_TIME 8
//////////////////////////////////////////////////////////////////
// Variables
//////////////////////////////////////////////////////////////////
// IR recieve action
_IRDEC_ bit g_bIrDetect; // IR command detect flag
_IRDEC_ bit g_bKeyDetect;
_IRDEC_ bit g_bIrRepeat; // IR command repeat flag
//_IRDEC_ bit g_bIrPower; // IR command repeat flag
_IRDEC_ BYTE g_ucIrCode; // IR code
_IRDEC_ BYTE g_ucIrCustem; // IR Custem
_IRDEC_ BYTE g_ucIrClocker;// IR Clocer
_IRDEC_ BYTE g_ucIrReleaseCounter;// IR Release
_IRDEC_ WORD g_ucKeyReleaseCounter;// IR Release
_IRDEC_ BYTE g_ucIrRepeatCounter;// IR Repeact
_IRDEC_ XDATA BYTE g_ucIrOkCounter;
//////////////////////////////////////
// Subroutines
//////////////////////////////////////
_IRDEC_ void irInterruptProcess(BYTE ucHeaderCode0, BYTE ucHeaderCode1);
_IRDEC_ void irDetectTimer0(void);
_IRDEC_ void irPolling(void);
_IRDEC_ void irSendIRTODVD(void);
_IRDEC_ void irDecodeRepeat(BYTE ucRepeatTime);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -