破晓-2024005 发表于 2015-12-16 15:18:30

经常看到系统睡眠之前会关闭中断,那关闭中断后怎么还.....

经常看到系统睡眠之前会关闭中断,那关闭中断后怎么还能被中断唤醒。

比如下面代码
{
    uint8 interruptState;

    interruptState = CyEnterCriticalSection();

    /* CM0 enters Sleep mode upon execution of WFI */
    CY_PM_CM0_SCR_REG &= (uint32) (~CY_PM_CM0_SCR_SLEEPDEEP);

    /* Sleep and wait for interrupt */
    CY_PM_WFI;

    CyExitCriticalSection(interruptState);

}

CyEnterCriticalSection:
    MRS r0, PRIMASK         ; Save and return interrupt state
    CPSID I               ; Disable interrupts
    BX lr



在关闭中断后,怎么中断还能使用呢?

stary666 发表于 2015-12-16 16:50:28

:dizzy::dizzy::dizzy::dizzy::dizzy::dizzy:

五哥1 发表于 2018-5-27 08:07:47

有各种唤醒条件呀。
页: [1]
查看完整版本: 经常看到系统睡眠之前会关闭中断,那关闭中断后怎么还.....