[其它] 使用CM4内核自带systick产生中断demo

[复制链接]
 楼主| ArterySW 发表于 2021-4-22 10:21 | 显示全部楼层 |阅读模式
使用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内任意工程中即可使用!


xcvista 发表于 2021-4-22 11:39 | 显示全部楼层
造轮子?CMSIS 里面我记得有一个函数就是这个功能的?
muyichuan2012 发表于 2021-4-22 12:17 来自手机 | 显示全部楼层
是的  但是有个客户还是找不到,写在这里一劳永逸吧。
隋士龙 发表于 2022-4-13 07:22 | 显示全部楼层
SysTick   使用资料  数据手册上没有。如何配置,如何使能,控制寄存器都有哪些?

评论

要看Coretex M4内核资料。  发表于 2022-4-13 09:07
muyichuan2012 发表于 2022-4-13 09:08 | 显示全部楼层
bsp里也有systick的现成案例,如下
AT32Fxxx_Firmware_Library_V2.x.x\project\at_start_fxxx\examples\cortex_m4\systick_interrupt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

198

主题

304

帖子

17

粉丝
快速回复 在线客服 返回列表 返回顶部

198

主题

304

帖子

17

粉丝
快速回复 在线客服 返回列表 返回顶部