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

📄 timer.h

📁 FS4510开发板示例程序demo4 压缩包内含FS4510开发板LCD驱动程序与定时器程序 文件说明 demo4.apj 为 SDT2.51 的项目文件 init.s 为初始化文件
💻 H
字号:
/*************************************************************************/
/*                                                                       */
/* FILE NAME                                      VERSION                */
/*                                                                       */
/*      timer.h                    KS32C5000, KS32C50100   : version 1.0 */
/*                                                                       */
/* COMPONENT                                                             */
/*                                                                       */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*                                                                       */
/* AUTHOR                                                                */
/*                                                                       */
/*      Young Sun KIM, Samsung Electronics, Inc.                         */
/*                                                                       */
/* DATA STRUCTURES                                                       */
/*                                                                       */
/*                                                                       */
/* FUNCTIONS                                                             */
/*                                                                       */
/*   Timer function header file:                                         */
/*                                                                       */
/*                                                                       */
/* DEPENDENCIES                                                          */
/*                                                                       */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         NAME            DATE                    REMARKS               */
/*                                                                       */
/*        in4maker      09-15-1998      Created initial version 1.0      */
/*                                                                       */
/*************************************************************************/
#ifndef _TIMER_H_
#define _TIMER_H_

#include "snds.h"

/*********************************************************/
/*	       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; 


/*********************************************************/
/*              TIMER LIBRARY FUNCTIONS (timer.c)        */
/*********************************************************/
extern void   tm_init(int /*timer dev*/,int /*timer data*/);
extern void   tmReset(int /* timer device number */);
extern void   ClrTimeVar(int);
extern void   tmCntr(TM_PARAM * /* timer parameter */);
extern void   PrtSysTime(int /*timer*/,char * /*message*/);
extern char   *GetSysTime(int /*timer*/);
extern uint32 TimeStopCheck(int /*timer */) ;
extern void   WaitTime_ms(int /*dev*/,int/*ms */);
extern void   tm0isr(void);    /* timer0 interrupt service */
extern void   tm1isr(void);    /* timer1 interrupt service */

/*********************************************************/
/*            WATCHDOG FUNTIONS (timer.c)                */
/*********************************************************/
extern void   WatchDogFunc(int /*reconf flag*/); /* WDT test function */
extern void   WatchDogSetup(void);  /* WDT initialize & start */
extern void   WatchDogReload(void); /* WDT counter value reloaded */
extern void   WatchDog0Lisr(void);  /* TIMER0 interrupt service */
extern void   WatchDog1Lisr(void);  /* WDT interrupt service  */

/*********************************************************/
/*      TIMER EVALUATION TEST FUNCTIONS(timer_test.c)    */
/*********************************************************/
extern void   WatchDogTest(void);   /* WDT test function */
extern void   TimerTest(void);
extern void   TimerTestItem(void);
extern void   rtc_run(void);
extern void   tmConfig(void);

/*********************************************************/
/*            EXTERNAL FUNCTION DEFINES                  */
/*********************************************************/
extern void   Reset_Boot_Rom(void);
extern void   StartUserPgm(void);
extern void   Reset_Handler(void);
extern void   C_Entry(void);


#endif  /* _TIMER_H_ */

⌨️ 快捷键说明

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