📄 lld_eft.h
字号:
/*____________________________________________________________________________| FILE: lld_eft.h| PROJECT: OS20_AccordoPlus| SW-COMPONENT: |_____________________________________________________________________________| DESCRIPTION: timer function|_____________________________________________________________________________| COPYRIGHT: (c) 2004 STMicroelectronics, APG-S2S Arzano (ITALY)| HISTORY:| Date | Modification | Author|_____________________________________________________________________________| 18.10.05 | Initial revision | M. De Martino|____________________________________________________________________________*/#ifndef _LLD_EFT_H_#define _LLD_EFT_H_#include "types.h"#include "rccu_run.h"#ifdef __cplusplusextern "C" {#endif/******************************************************************| includes of external declarations|---------------------------------------------------------------- *//************************************************************************ |defines and macros (scope: module-local) |-----------------------------------------------------------------------*/#define EFT0 (tU8)0#define EFT1 (tU8)1#define PWM_MODE (tU8)1#define OUTPUT_COM_MODE (tU8)2#define PULSE_MODE (tU8)3#define COUNTER_MODE (tU8)4/* Max programmation value */#define EFT_MAX_TIMER_PROGRAMMATION (tU16)0xFFFF/* Convert time in ns to Hz */ #define EFT_M_NS_2_HZ(t) (tU16)((tU32)1000000000/((tU32)t))/* Convert time in ns to KHz */ #define EFT_M_US_2_HZ(t) (tU32)((tU32)1000000000/((tU32)t))/* Number of interrupt sources */#define EFT_TYPE_NUM 4/* Prescaler */#if (RUN_MODE == RUN3)#define TIMER_PRESCALER (tU16)67 /* Prescaler for Timer-Clk */#elif (RUN_MODE == RUN2)#define TIMER_PRESCALER (tU16)58 /* Prescaler for Timer-Clk */#elif (RUN_MODE == RUN1)#define TIMER_PRESCALER (tU16)50 /* Prescaler for Timer-Clk */#else //BYPASS #define TIMER_PRESCALER (tU16)33 /* Prescaler for Timer-Clk */#endif#define TIMER_PRES_VAL (TIMER_PRESCALER-1) /* Set prescaler *//************************************************************************|typedefs and struct defs (scope: global)|-----------------------------------------------------------------------*//* Al: custom interrupt handler*//* Function pointer to the stream eot exception manager */typedef tVoid (*t_EFT_FctPtr)(void) ;/* Al */typedef enum t_EFT_IntTy{ EFT0_GLOBAL_INT = 0, EFT1_GLOBAL_INT = 1, EFT1_OCA_INT = 2, EFT1_OCB_INT = 3} t_EFT_IntTy;/************************************************************************|macros|-----------------------------------------------------------------------*//* Al: custom interrupt handler*/extern t_EFT_FctPtr INT_EFT_EndTr_Mgr_Str [EFT_TYPE_NUM];#define DEFAULT_EFT_MGR &INT_EFT_Default_manager#define INSTALL_EFT_MANAGER(type, handler) INT_EFT_EndTr_Mgr_Str[type] = (t_EFT_FctPtr)handler#define RESTORE_EFT_MANAGER(type) INT_EFT_EndTr_Mgr_Str[type] = (t_EFT_FctPtr)DEFAULT_EFT_MGRextern tVoid LLD_EFT_InstallHookManager (tU8, t_EFT_FctPtr);extern tVoid LLD_EFT_RestoreHookManager(tU8);/* Al *//************************************************************************ |function prototype (scope: global) |-----------------------------------------------------------------------*/extern tVoid EFT_TimerConfig (tU8 TimerId, tU8 TimerMode, tU32 TimerCompValueA, tU32 TimerCompValueB, tU8 dmasource, tBool dma_int);extern tVoid EFT_TimerStart (tU8 TimerId);extern tVoid EFT_TimerStop (tU8 TimerId);extern tU16 EFT_ReadTimer (tU8 TimerId);extern tVoid EFT_IntTimer0(void);extern tVoid EFT_IntTimer1(void);extern tVoid EFT_IntTimer1OutCompA(void);extern tVoid EFT_IntTimer1OutCompB(void);extern tVoid OS20_EFT_TimerConfig (tU8 TimerId);extern tVoid OS20_EFT_SetOCAR(tU8 TimerId, unsigned value);extern tVoid OS20_EFT_SetOCAIE_TOE(tU8 TimerId);extern tVoid OS20_EFT_ReSetOCAIE(tU8 TimerId);extern tU16 OS20_EFT_GetSRegister(tU8 TimerId);extern tVoid OS20_EFT_ReSetOCFA(tU8 TimerId);extern tVoid OS20_EFT_ReSetTOF(tU8 TimerId);#ifdef __cplusplus}#endif#endif // _LLD_EFT_H_/* End of file */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -