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

📄 timer.h

📁 中芯微VC0528测试程序
💻 H
字号:

#ifndef _TIMER_H_
#define _TIMER_H_



/* ----- Timer Configuration Register1 Bit Pattern ------ */

#define TIMER0_CLK_DIVISOR_2	(0 << 0)
#define TIMER0_CLK_DIVISOR_4	(1 << 0)
#define TIMER0_CLK_DIVISOR_8	(2 << 0)
#define TIMER0_CLK_DIVISOR_16	(3 << 0)
#define TIMER0_CLK_DIVISOR_32	(4 << 0)

#define TIMER1_CLK_DIVISOR_2	(0 << 4)
#define TIMER1_CLK_DIVISOR_4	(1 << 4)
#define TIMER1_CLK_DIVISOR_8	(2 << 4)
#define TIMER1_CLK_DIVISOR_16	(3 << 4)
#define TIMER1_CLK_DIVISOR_32	(4 << 4)

#define TIMER2_CLK_DIVISOR_2	(0 << 8)
#define TIMER2_CLK_DIVISOR_4	(1 << 8)
#define TIMER2_CLK_DIVISOR_8	(2 << 8)
#define TIMER2_CLK_DIVISOR_16	(3 << 8)
#define TIMER2_CLK_DIVISOR_32	(4 << 8)

#define TIMER3_CLK_DIVISOR_2	(0 << 12)
#define TIMER3_CLK_DIVISOR_4	(1 << 12)
#define TIMER3_CLK_DIVISOR_8	(2 << 12)
#define TIMER3_CLK_DIVISOR_16	(3 << 12)
#define TIMER3_CLK_DIVISOR_32	(4 << 12)

#define TIMER4_CLK_DIVISOR_2	(0 << 16)
#define TIMER4_CLK_DIVISOR_4	(1 << 16)
#define TIMER4_CLK_DIVISOR_8	(2 << 16)
#define TIMER4_CLK_DIVISOR_16	(3 << 16)
#define TIMER4_CLK_DIVISOR_TCLK	(4 << 16)

#define TIMER5_CLK_DIVISOR_2	(0 << 20)
#define TIMER5_CLK_DIVISOR_4	(1 << 20)
#define TIMER5_CLK_DIVISOR_8	(2 << 20)
#define TIMER5_CLK_DIVISOR_16	(3 << 20)
#define TIMER5_CLK_DIVISOR_32	(4 << 20)

#define DMA_MODE_NO_SEL		(0 << 24)
#define DMA_MODE_TIMER0		(1 << 24)
#define DMA_MODE_TIMER1		(2 << 24)
#define DMA_MODE_TIMER2		(3 << 24)
#define DMA_MODE_TIMER3		(4 << 24)
#define DMA_MODE_TIMER4		(5 << 24)
#define DMA_MODE_TIMER5		(6 << 24)

/* ----- Timer Control Register Bit Pattern ------ */

#define TIMER0_RUN			(1 << 0)
#define TIMER1_RUN			(1 << 8)
#define TIMER2_RUN			(1 << 12)
#define TIMER3_RUN			(1 << 16)
#define TIMER4_RUN			(1 << 20)
#define TIMER5_RUN			(1 << 24)
 
#define TIMER0_LOAD			(1 << 1)
#define TIMER1_LOAD			(1 << 9)
#define TIMER2_LOAD			(1 << 13)
#define TIMER3_LOAD			(1 << 17)
#define TIMER4_LOAD			(1 << 21)
#define TIMER5_LOAD			(1 << 25)

#define TIMER0_INTERVAL			(1 << 3)
#define TIMER1_INTERVAL			(1 << 11)
#define TIMER2_INTERVAL			(1 << 15)
#define TIMER3_INTERVAL			(1 << 18)
#define TIMER4_INTERVAL			(1 << 22)
#define TIMER5_INTERVAL			(1 << 26)

/* -----	Common macros ----- */

#define Timer0_Stop()    (rTCON &= ~TIMER0_RUN)
#define Timer1_Stop()    (rTCON &= ~TIMER1_RUN)
#define Timer2_Stop()    (rTCON &= ~TIMER2_RUN)
#define Timer3_Stop()    (rTCON &= ~TIMER3_RUN)
#define Timer4_Stop()    (rTCON &= ~TIMER4_RUN)
#define Timer5_Stop()    (rTCON &= ~TIMER5_RUN)

extern U8	mobile_flag;
void 	InitTimer0ForCommandParase(void (*func)(),int interval);


#endif  /* _TIMER_H_ */

⌨️ 快捷键说明

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