timer.h

来自「三星S34510板子上移植的uCosII源码」· C头文件 代码 · 共 58 行

H
58
字号

/*********************************************************/
/*	       IDENTIFIER FOR TIMER DEVICE               */
/*********************************************************/
#define  TIMER_DEV0   0
#define  TIMER_DEV1   1

/* Timer Mode Register */

/*********************************************************/
/*	       TIMER MODE REGISTER                       */
/*********************************************************/
#define  TM0_RUN      0x01  /* Timer 0 enable */
#define  TM0_TOGGLE   0x02  /* 0, interval mode */
#define  TM0_OUT_1    0x04  /* Timer 0 Initial TOUT0 value */
#define  TM1_RUN      0x08  /* Timer 1 enable */
#define  TM1_TOGGLE   0x10  /* 0, interval mode */
#define  TM1_OUT_1    0x20  /* Timer 0 Initial TOUT0 value */

/*********************************************************/
/*	USABLE MACROS FUNCTIONS  & DATA STRUCTURES       */
/*********************************************************/

#define Timer0Stop()        (TMOD &= ~TM0_RUN)
#define Timer1Stop()        (TMOD &= ~TM1_RUN)

#define Timer0Start()       (TMOD |= TM0_RUN)
#define Timer1Start()       (TMOD |= TM1_RUN)

#define TimerStart(t)       ((t)? Timer1Start():Timer0Start())
#define TimerStop(t)        ((t)? Timer1Stop(): Timer0Stop())

#define tmDATA(t)           (t*0.001*fMCLK-1)  // t is time tick,unit[ms]
#define t_data_ms(t)        (t*0.001*fMCLK-1)  // t is time tick,unit[ms]
#define t_data_us(t)        (t*0.000001*fMCLK-1)  // t is time tick,unit[us]

typedef struct {
      void (*TIMER_Lisr)();   /* TIMER Interrupt Function Pointer */
      UINT32 TM_CHANNEL;      /* TIMER DEVICE */
      UINT32 TM_MODE;         /* Timer mode register */
      UINT32 TM_DATA;         /* Timer data,timer range is 1~0xffffffff */
      UINT32 TM_OUT_PORT;     /* Enable timer output port */
}TM_PARAM; 


typedef struct {
      volatile unsigned int tm_sec;
      volatile unsigned int tm_min;
      volatile unsigned int tm_hour;
      volatile unsigned int tm_mday;
      volatile unsigned int tm_mon;
      volatile unsigned int tm_year;
}TIME; 



extern void tmReset(int TIMER_DEV);
extern void tm_init(int TIMER_DEV, int t); 

⌨️ 快捷键说明

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