上面讲的是用查询的方式,下面再说下中断触发。只需调用下面这个函数即可完成中断的设置。
SysTick_Config(uint32_t ticks);具体实现如下:
- __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
- {
- if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1);
- SysTick->LOAD = ticks - 1;
- NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
- SysTick->VAL = 0;
- SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
- SysTick_CTRL_TICKINT_Msk |
- SysTick_CTRL_ENABLE_Msk;
- return (0);
- }
|