关于CH32V307 mstatus寄存器
关于CSR寄存器中的mstatus寄存器,我们在使用的时候主要需要关注位3MIE位,位7MPIE位,位12:11MPP,位14:13FS,各个位解释如下:
位MIE:用于控制打开或者关闭全局中断
当该MIE域的值为1时,表示机器模式下所有的中断全局打开。
当该MIE域的值为0时,表示机器模式下所有的中断全局关闭。
位MPIE:MPIE域的值被更新为异常发生前MIE域的值。MPIE域的作用是在异常结束之后,能够使用MPIE的值恢复出异常发生之前的MIE值。
位MPP:MPP的值被更新为异常发生前的模式。MPP域的作用是在异常结束之后,能够使用MPP的值恢复出异常发生之前的工作模式。
位FS:FS 域用于描述和维护浮点单元状态,所以该域只有在含有硬件浮点功能的青稞 V4F 微处理器上才有意义。当其值为 0 时,表示浮点单元为关闭状态,且如果此时使用浮点指令,将触发异常;若其值为 1 或 2,当执行了浮点指令后,该域会被更新为 3。若用户在使用 V4F 微处理器时,不期望使用硬件浮点功能,可在机器模式下,手动清除该两位,以关闭硬件浮点并降低功耗。
针对CH32V103以及CH32V307等MCU用户模式以及机器模式下对mstatus状态寄存器的配置
CH32V103:
用户模式下:mstatus的值为0x88
机器模式下:mstatus的值为0x1888
CH32V307:
用户模式下:mstatus的值为0x6088
机器模式下:mstatus的值为0x7888
分类:
32位MCU学习
标签:
CH32V307;mstatus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~