50 lines
1.8 KiB
C
50 lines
1.8 KiB
C
#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
|
|
}
|