CH32V103相较于其他RISCV芯片,无法关闭全局中断。目前EVT源码工程中只预留了关闭单个线中断的函数,如下图所示:
实现CH32V103关闭全局中断的操作方式如下:
1、替换使用特定的起始文件和core_riscv.h文件,因博客无法上传附件,可在此链接下获取:https://www.wch.cn/bbs/thread-109625-1.html;
2、需关闭或者使能芯片的全局中断时,调用core_riscv.h中的__disable_irq()、__enable_irq()函数即可;
需要注意的是CH32V103 关闭总中断-需要在机器模式下操作 CSR 寄存器 mstate,故替换了上面的起始文件后,芯片会一直工作在机器模式下。
机器模式相较于正常的用户模式具有最高的权限,该模式下可以访问所有的控制和状态寄存器,同时也能访问所有的物理地址区域。而用户模式权限较低,只能访问限定的CSR寄存器。
标签:CH32V103,中断,模式,关闭,寄存器,全局 From: https://www.cnblogs.com/wchmcu/p/17717350.html