📄 mxic_ir.h
字号:
//------------------------------------------------------
// the MCU resource of MXIC IR receiver program take:
// 1. Interrupt
// (1) ex_1 interrupt
// (2) timer 1 interrupr
// 2. RAM
// global use
// (1) 1 byte for status
// (2) 4 bytes for ID flame buffer
// temperal use
// (1) 2 bytes for check counter
//------------------------------------------------------
typedef unsigned char BYTE;
bit EnableIr(void);
bit DisableIr(void);
bit CheckIrFlame(void);
BYTE GetIrCodeData(void);
BYTE GetIrIDData(void);
bit CheckIrRepeatCode(void);
//-----------------------------------
//#define MINTEK
//#ifdef MINTEK
//-----------------------------
#define _OSC 92//(11059/120) // 119 //(14318/120)
//mintek:0x3f00 ; jaces:0x3edx;
#define _LEAD 135 //*100us ->9ms+4.5ms
#define _LEAD_LENGTH (_LEAD*_OSC) //0x3fxx
#define _LEAD_UPPER (_LEAD_LENGTH+800)
#define _LEAD_LOWER (_LEAD_LENGTH-800)
#define _REPEAT 113 //*100us ->9ms+2.3ms
#define _REPEAT_LENGTH (_REPEAT*_OSC) //0x3fxx
#define _REPEAT_UPPER (_REPEAT_LENGTH+400)
#define _REPEAT_LOWER (_REPEAT_LENGTH-400)
//logical "0": mintek cnt=0x530 //jaces: 0x521~0x505
#define _IR_0 113 //*100us ->680us+448us
#define _IR_0_LEGTH (_IR_0*_OSC/10) //0x53x
#define _IR_0_UPPER (_IR_0_LEGTH+600) //errate=0.838x100=83us
#define _IR_0_LOWER (_IR_0_LEGTH-600)
//*/
//mintek:0xa80 ; jaces:0xa30
#define _IR_1 225 //*100us ->680us+1600us
#define _IR_1_LEGTH (_IR_1*_OSC/10) //0xA80
#define _IR_1_UPPER (_IR_1_LEGTH+600)
#define _IR_1_LOWER (_IR_1_LEGTH-600)
//----------------------
//Variable for IR
//
//---------------------
//bit IrOn=0;
static union MXIC_IR
{
struct IR_STRUCT
{
BYTE b1GetIrFlame :1; //get IR flame
BYTE b1GetIrRepeatCode :1; //get IR repeat code
BYTE b1GetIrCommand :1; //get IR command
BYTE b5Reserved :4; //reserved
BYTE b1IrOn :1; //enable Ir receiver
} Bits;
BYTE IrStatus;
}MxicIr;
//#endif
//---------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -