使用CM4内核自带systick产生中断demo
使用CM4内核自带systick产生中断demo本demo使用CM4内核自带的systick定时器产生ms级中断,示例代码如下:
void SysTick_Init()
{
/*Config Systick*/
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
/* SystemCoreClock / (1000U) : ms tick */
SysTick->LOAD= (uint32_t)((SystemCoreClock / (1000U)) - 1UL);
NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL);
SysTick->VAL = 0UL;
SysTick->CTRL= SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk;
}
通过以上配置可使systick产生1ms中断,中断处理函数入口为:
void SysTick_Handler(void)
{
}
将以上代码复制到AT32 BSP内任意工程中即可使用!
造轮子?CMSIS 里面我记得有一个函数就是这个功能的? 是的但是有个客户还是找不到,写在这里一劳永逸吧。 SysTick 使用资料数据手册上没有。如何配置,如何使能,控制寄存器都有哪些? bsp里也有systick的现成案例,如下
AT32Fxxx_Firmware_Library_V2.x.x\project\at_start_fxxx\examples\cortex_m4\systick_interrupt
页:
[1]