#include "sys.h" /******************************************************************************** * @file sys.c * @author 晏诚科技 Mr.Wang * @version V1.0.0 * @date 11-Dec-2018 * @brief STM32汇编指令相关操作 ****************************************************************************** *******************************************************************************/ /************************************************************************************************** * 名 称: void WFI_SET(void) * 功能说明: THUMB指令不支持汇编内联,采用如下方法实现执行汇编指令WFI *************************************************************************************************/ void WFI_SET(void) { __ASM volatile("wfi"); } /************************************************************************************************** * 名 称: void INTX_DISABLE(void) * 功能说明: 关闭所有中断 *************************************************************************************************/ void INTX_DISABLE(void) { __ASM volatile("cpsid i"); } /************************************************************************************************** * 名 称: void INTX_ENABLE(void) * 功能说明: 开启所有中断 *************************************************************************************************/ void INTX_ENABLE(void) { __ASM volatile("cpsie i"); } /************************************************************************************************** * 名 称: __asm void MSR_MSP(u32 addr) * 功能说明: 设置栈顶地址 * 入口参数: * @param1 addr: 栈顶地址 *************************************************************************************************/ __asm void MSR_MSP(u32 addr) { MSR MSP, r0 //set Main Stack value BX r14 }