📄 ir_rc5.h
字号:
/******************************************************************************
Copyright (c) 2003 MStar Semiconductor, Inc.
All rights reserved.
[Date]: 04-Feb-2004
[Comment]:
Remote control header file.
[Reversion History]:
*******************************************************************************/
#ifdef IR_RC5
#ifndef _IR_H
#define _IR_H
#include "mcu.h"
#include "irfunc.h"
#ifdef _IR_C_
#define _IRDEC_
#else
#define _IRDEC_ extern
#endif
///////////////////////
// IR Option
///////////////////////
//#define IR_DEBUG_EN
#ifdef IR_DEBUG_EN
#define IR_PUTSTR(str) putstr(str)
#define IR_PRINTF(str,para) printf(str,para)
#else
#define IR_PUTSTR(str)
#define IR_PRINTF(str,para)
#endif
// IR user timer
#define IR_USE_TIMER1 0
#define IR_USE_TIMER2 1
#define IR_TIMER_SEL IR_USE_TIMER2
#define IR_DELAY_TIME (3000 / ISR_TIMER0_INTERVAL) // IR command start in INT1 to IR command end time
#define IR_DELAY_TIME0 (300 / ISR_TIMER0_INTERVAL) // IR 1st command to repeat command delay time
#define IR_DELAY_TIME1 (300 / ISR_TIMER0_INTERVAL) // IR command hold time after last repeat command
#define IR_DELAY_TIME2 (200 / ISR_TIMER0_INTERVAL) // IR command hold time after last repeat command
#define IR_DELAY_TIME3 (300 / ISR_TIMER0_INTERVAL) // IR command hold time after last repeat command
#define IR_REPEAT_START_TIME (500 / ISR_TIMER0_INTERVAL)
#define IR_REPEAT_END_TIME (550 / ISR_TIMER0_INTERVAL)
//---------------------------------------------------------------------------
typedef enum _IrStatusType
{
IR_LEADER,
IR_CODE,
IR_IDLE,
IR_PREEND
} IrStatusType;
// IR recieve action
_IRDEC_ bit g_bIrRepeatStatus; // IR command repeat status
_IRDEC_ bit g_bIrDetect; // IR command detect flag
_IRDEC_ bit g_bIrCommand; // IR command input hold flag
_IRDEC_ bit g_bIrRepeat; // IR command repeat flag
_IRDEC_ BYTE g_ucIrBitsCnt; // IR bits counter
_IRDEC_ BYTE g_ucDataCode; //
_IRDEC_ BYTE g_ucSYSCode; //
_IRDEC_ BYTE g_ucPreSYSCode; //
_IRDEC_ BYTE g_wIrCycleTimer; // IR total cycle timer
_IRDEC_ DWORD g_ucCode; // IR data code
_IRDEC_ WORD g_wIrTimer; // IR timer
_IRDEC_ XDATA BYTE g_ucIrCode; // IR code
_IRDEC_ XDATA BYTE g_ucIrStatus;
// IR key
_IRDEC_ XDATA WORD g_wIrNumKeyTimer; // IR number key timer
// Subroutines
_IRDEC_ void irInterruptProcess(void);
_IRDEC_ void irDetectTimer0(void);
_IRDEC_ void IrReceiveEnd(void);
_IRDEC_ BOOL ReformatIRdata(void);
_IRDEC_ void irDecodeRepaeat(WORD wRepeatTime);
_IRDEC_ void irDecodeEnd(void);
_IRDEC_ void CheckIrdetected(void);
_IRDEC_ void irDetectTimer1( void );
_IRDEC_ void Timer2InitForIr(void);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -