77 lines
1.6 KiB
C
77 lines
1.6 KiB
C
#include "sys.h"
|
||
|
||
/*********************************************************************************
|
||
___ _ _____ _____ _ _ _____ _____ _ __
|
||
/ _ \ | | |_ _|| ___|| \ | ||_ _|| ___|| | / /
|
||
/ /_\ \| | | | | |__ | \| | | | | |__ | |/ /
|
||
| _ || | | | | __| | . ` | | | | __| | \
|
||
| | | || |_____| |_ | |___ | |\ | | | | |___ | |\ \
|
||
\_| |_/\_____/\___/ \____/ \_| \_/ \_/ \____/ \_| \_/
|
||
|
||
* ******************************************************************************
|
||
* 本程序只供学习使用,未经作者许可,不得用于其它任何用途
|
||
* ALIENTEK Pandora STM32L475 IOT开发板
|
||
* 系统时钟初始化
|
||
* 包括时钟设置/中断管理/GPIO设置等
|
||
* 正点原子@ALIENTEK
|
||
* 技术论坛:www.openedv.com
|
||
* 创建日期:2016/1/5
|
||
* 版本:V1.0
|
||
* 版权所有,盗版必究。
|
||
* Copyright(C) 广州市星翼电子科技有限公司 2014-2024
|
||
* All rights reserved
|
||
* ******************************************************************************
|
||
* 版本修改说明
|
||
* 无
|
||
* ******************************************************************************/
|
||
|
||
/**
|
||
* @brief THUMB指令不支持汇编内联、
|
||
* 采用如下方法实现执行汇编指令WFI
|
||
*
|
||
* @param void
|
||
*
|
||
* @return __asm
|
||
*/
|
||
__asm void WFI_SET(void)
|
||
{
|
||
WFI;
|
||
}
|
||
/**
|
||
* @brief 关闭所有中断(但是不包括fault和NMI中断)
|
||
*
|
||
* @param void
|
||
*
|
||
* @return __asm
|
||
*/
|
||
__asm void INTX_DISABLE(void)
|
||
{
|
||
CPSID I
|
||
BX LR
|
||
}
|
||
/**
|
||
* @brief 开启所有中断
|
||
*
|
||
* @param void
|
||
*
|
||
* @return __asm
|
||
*/
|
||
__asm void INTX_ENABLE(void)
|
||
{
|
||
CPSIE I
|
||
BX LR
|
||
}
|
||
/**
|
||
* @brief 设置栈顶地址
|
||
*
|
||
* @param addr 栈顶地址
|
||
*
|
||
* @return __asm
|
||
*/
|
||
__asm void MSR_MSP(u32 addr)
|
||
{
|
||
MSR MSP, r0 //set Main Stack value
|
||
BX r14
|
||
}
|
||
|