novoton-systick使用

SysTick系统滴答定时器:

core-cm4.h定义了ARM芯片自带的systick配置(使用默认时钟):

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks);

The function initializes the System Timer and its interrupt, and starts the System Tick Timer.
Counter is in free running mode to generate periodic interrupts.

\param [in] ticks Number of ticks between two interrupts.

\return 0 Function succeeded.
\return 1 Function failed.

clk.c定义了systick配置:

void CLK_SetSysTickClockSrc(uint32_t u32ClkSrc);

* @param[in] u32ClkSrc is module clock source. Including:
* - \ref CLK_CLKSEL0_STCLKSEL_HXT
* - \ref CLK_CLKSEL0_STCLKSEL_LXT
* - \ref CLK_CLKSEL0_STCLKSEL_HXT_DIV2
* - \ref CLK_CLKSEL0_STCLKSEL_HCLK_DIV2
* - \ref CLK_CLKSEL0_STCLKSEL_HIRC_DIV2

void CLK_EnableSysTick(uint32_t u32ClkSrc, uint32_t u32Count);

* @param[in] u32ClkSrc is System Tick clock source. Including:
* - \ref CLK_CLKSEL0_STCLKSEL_HXT
* - \ref CLK_CLKSEL0_STCLKSEL_LXT
* - \ref CLK_CLKSEL0_STCLKSEL_HXT_DIV2
* - \ref CLK_CLKSEL0_STCLKSEL_HCLK_DIV2
* - \ref CLK_CLKSEL0_STCLKSEL_HIRC_DIV2
* - \ref CLK_CLKSEL0_STCLKSEL_HCLK
* @param[in] u32Count is System Tick reload value. It could be 0~0xFFFFFF.

void CLK_DisableSysTick(void) ;

clk.h定义了systick延时:

__STATIC_INLINE void CLK_SysTickDelay(uint32_t us);

* @param us Delay time. The Max value is 2^24 / CPU Clock(MHz). Ex:
* 72MHz => 233016us, 50MHz => 335544us,
48MHz => 349525us, 28MHz => 699050us ...

__STATIC_INLINE void CLK_SysTickLongDelay(uint32_t us);

猜你喜欢

转载自www.cnblogs.com/llw2017/p/9068856.html