ch32v203c8t6的临界保护问题

Cortex-M 处理器可以下面这样做临界保护

uint32_t enter_critical(void)
{
    // 保存当前 PRIMASK 值
    uint32_t regPrimask = __get_PRIMASK();
    // 关闭系统全局中断(其实就是将 PRIMASK 设为 1)
    __disable_irq();

    return regPrimask;
}

void exit_critical(uint32_t primask)
{
    // 恢复 PRIMASK
    __set_PRIMASK(primask);
}

ch32v203c8t6要怎么做呢

您好,可以参考CH32V203 EVT FreeRTOS例程中下图两个函数,如下图圈出部分,和你这个思路都是一样的。EVT下载链接如下:

https://www.wch.cn/downloads/CH32V20xEVT_ZIP.html 

image.png


好的,谢谢你哦


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