我这里想做一个计时程序,定时器只剩了一个TMR3可用,但是TMR3的中断优先级太低,会被其他中断影响,所以想要用滴答定时器做个计时。如果我想要1ms进一次滴答定时器的中断服务函数,那么SysTick_Config函数的重加载值应该写FREQ_SYS / 1000吗。进了中断函数之后重加载值是会自动更新,还是要清个标志位啥的呢。
查看: 3199
回复: 3
请教一个CH573滴答定时器的问题
热门产品 :
USB3.0 HUB控制器:CH634
SysTick_Config(32000); 自动重新加载计数值,计数时钟32M,以1ms为例,参数是32000
清中断标志
void SysTick_Handler()
{
SysTick->CTRL &= ~(SysTick_CTRL_COUNTFLAG_Msk);
}
您好,我这里没有SysTick_CTRL_COUNTFLAG_Msk这个宏定义
SysTick_Config(32000);
__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void SysTick_Handler()
{
SysTick->CNTFG &= ~(1<<1);
}
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录