SysTick_Handler 只执行一次,是什么原因导致的

void SysTick_Handler(void) __attribute__((interrupt()));

void SysTick_Handler(void)

{

    GET_INT_SP();

    /* enter interrupt */

    rt_interrupt_enter();

    SysTick->SR=0;

    rt_tick_increase();

    /* leave interrupt */

    rt_interrupt_leave();

    FREE_INT_SP();


}

不知道是什么原因导致只执行了一次?


GET_INT_SP(); 和 FREE_INT_SP(); 有什么用?


您好,GET_INT_SP(); 和 FREE_INT_SP();主要都是对机器模式暂存寄存器进行操作,主要作用看下图1介绍。若你是跑RT-Thread,可参考下图2修改一下。若不行,可将工程发我邮箱(lzs@wch.cn)具体看一下。

image.png

图1

image.png

图2


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