csl_timeraux.h
来自「dsp在音频处理中的运用」· C头文件 代码 · 共 162 行
H
162 行
#ifndef _CSL_TIMERAUX_H
#define _CSL_TIMERAUX_H
#include <cslr_timer.h>
#include <csl_timer.h>
#ifdef __cplusplus
extern "C" {
#endif
static inline
void
CSL_timerStart (
CSL_TimerHandle hTimer
)
{
CSL_FINST(hTimer->regs->CNTL, TIMER_CNTL_ST, START);
}
static inline
void
CSL_timerStop (
CSL_TimerHandle hTimer
)
{
CSL_FINST(hTimer->regs->CNTL, TIMER_CNTL_ST, STOP);
}
static inline
void
CSL_timerSetPeriod (
CSL_TimerHandle hTimer,
CSL_TimerCount count
)
{
hTimer->regs->LOAD = count;
}
static inline
void
CSL_timerSetPrescale (
CSL_TimerHandle hTimer,
CSL_TimerPrescale prescale
)
{
CSL_FINS(hTimer->regs->CNTL, TIMER_CNTL_PTV, prescale);
}
static inline
CSL_TimerPrescale
CSL_timerGetPrescale (
CSL_TimerHandle hTimer
)
{
return (CSL_TimerPrescale) CSL_FEXT(hTimer->regs->CNTL, TIMER_CNTL_PTV);
}
static inline
void
CSL_timerSetLoadMode (
CSL_TimerHandle hTimer,
CSL_TimerLoadMode mode
)
{
CSL_FINS(hTimer->regs->CNTL, TIMER_CNTL_AR, mode);
}
static inline
CSL_TimerLoadMode
CSL_timerGetLoadMode (
CSL_TimerHandle hTimer
)
{
return (CSL_TimerLoadMode) CSL_FEXT(hTimer->regs->CNTL, TIMER_CNTL_AR);
}
static inline
void
CSL_timerSetEmuMode (
CSL_TimerHandle hTimer,
CSL_TimerEmuMode emuMode
)
{
CSL_FINS(hTimer->regs->CNTL, TIMER_CNTL_FREE, emuMode);
}
static inline
CSL_TimerEmuMode
CSL_timerGetEmuMode (
CSL_TimerHandle hTimer
)
{
return (CSL_TimerEmuMode) CSL_FEXT(hTimer->regs->CNTL, TIMER_CNTL_FREE);
}
static inline
void
CSL_timerExtlClock (
CSL_TimerHandle hTimer,
CSL_TimerExtClock extlClk
)
{
CSL_FINS(hTimer->regs->CNTL, TIMER_CNTL_CLKEN, extlClk);
}
static inline
CSL_TimerExtClock
CSL_timerGetExtlClock (
CSL_TimerHandle hTimer
)
{
return (CSL_TimerExtClock) CSL_FEXT(hTimer->regs->CNTL, TIMER_CNTL_CLKEN);
}
static inline
Uint32
CSL_timerGetCount (
CSL_TimerHandle hTimer
)
{
return (Uint32) hTimer->regs->READ;
}
static inline
Bool
CSL_timerIsRunning (
CSL_TimerHandle hTimer
)
{
return CSL_FEXT(hTimer->regs->CNTL, TIMER_CNTL_ST);
}
static inline
void
CSL_timerRegReset (
CSL_TimerHandle hTimer
)
{
hTimer->regs->CNTL = CSL_TIMER_CNTL_RESETVAL;
hTimer->regs->LOAD = CSL_TIMER_LOAD_RESETVAL;
}
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?