timer.h

来自「Realtek 公司的RTD2523A芯片原厂source code,没有被修改」· C头文件 代码 · 共 45 行

H
45
字号
// Period in ns
#define IR_POLLING_PERIOD   (unsigned long)375000
#define MAIN_LOOP_PERIOD    (unsigned long)20000000
#define DELAY_ONE_MS        (unsigned long)1000000
#define DELAY_HALF_MS       (unsigned long)500000
#define MCU_INST_CYCLE      ((unsigned long)1000000 * 12 / MCU_XTAL)   

#if (IRPOLLING)

// Timer0 Period : 0.375ms
#define TIME0_COUNTER_NUM       (0xFFFF - (IR_POLLING_PERIOD / MCU_INST_CYCLE))
#define TIME0_COUNTER_LBYTE     (TIME0_COUNTER_NUM & 0xFF)
#define TIME0_COUNTER_HBYTE     (TIME0_COUNTER_NUM >> 8)

#else

// Timer0 Period : 20 ms
#define TIME0_COUNTER_NUM       (0xFFFF - (MAIN_LOOP_PERIOD / MCU_INST_CYCLE))
#define TIME0_COUNTER_LBYTE     (TIME0_COUNTER_NUM & 0xFF)
#define TIME0_COUNTER_HBYTE     (TIME0_COUNTER_NUM >> 8)

#endif

// Timer1 Period : 1 ms
#define TIME1_COUNTER_NUM       (0xFFFF - (DELAY_ONE_MS / MCU_INST_CYCLE))
#define TIME1_COUNTER_LBYTE     (TIME1_COUNTER_NUM & 0xFF)
#define TIME1_COUNTER_HBYTE     (TIME1_COUNTER_NUM >> 8)


#ifdef __TIMER__

bit bNotify_Timer0_Int  = 0;
bit bNotify_Timer1_Int  = 0;

void Delay_Xms(unsigned char x);    // For delay 0 ~ 255 ms

#else

extern bit bNotify_Timer0_Int;
extern bit bNotify_Timer1_Int;

extern void Delay_Xms(unsigned char x);    // For delay 0 ~ 255 ms

#endif

⌨️ 快捷键说明

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