请教一个CH573滴答定时器的问题

我这里想做一个计时程序,定时器只剩了一个TMR3可用,但是TMR3的中断优先级太低,会被其他中断影响,所以想要用滴答定时器做个计时。如果我想要1ms进一次滴答定时器的中断服务函数,那么SysTick_Config函数的重加载值应该写FREQ_SYS / 1000吗。进了中断函数之后重加载值是会自动更新,还是要清个标志位啥的呢。

SysTick_Config(32000);   自动重新加载计数值,计数时钟32M,以1ms为例,参数是32000

清中断标志
void SysTick_Handler()
{
  SysTick->CTRL &= ~(SysTick_CTRL_COUNTFLAG_Msk);
}


您好,我这里没有SysTick_CTRL_COUNTFLAG_Msk这个宏定义QQ截图20220105100510.png


  SysTick_Config(32000);


__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void SysTick_Handler()
{
  SysTick->CNTFG &= ~(1<<1);
}


只有登录才能回复,可以选择微信账号登录