CH569 system tick

你好,CH569不能进入SysTick中断,请问是什么原因?谢谢!

 代码如下:

__attribute__((interrupt("WCH-Interrupt-fast")))void SysTick_Handler()

{

    SysTick->CTLR = 0;

    SysTick->CNTFG &= ~(1<<1);


    SysTick->CTLR = (1<<8)|(1<<0) | (1<1); // enable interrupt

    PRINT("SysTick_Handler\r\n");

    return;

}


/*******************************************************************************

 * @fn

 *

 * @brief       .

 *

 * @param

 *

 * @return    None

 */

void SysTickInit()

{

    // only use low 32-bit counter;

    SysTick->CTLR  = 0;

    SysTick->CMP   = 0xFFFFFF;

    SysTick->CTLR  = (1<<8)|(1<<0)|(1<1); // enable interrupt

    PFIC_EnableIRQ(SysTick_IRQn);

    return;

}


运算符写错了。。。

image.png


多谢!



SysTick->CTLR = (1<<8)|(1<<0) | (1<1); // enable interrupt

SysTick->CTLR的第8位有啥用?我看手册只有0-5 和 31 位有用。


手册截图

image.png


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