/*Copyright (C), 2024-2030
*文件名:	USER.c
*版  本:	Ver1.00
*日  期:	2025/04/30
*描  述:	常用函数定义
*备  注:     
**********************************************************/
#include "USER.h"
#include "BL51F003T.h"	
#include "intrins.h"
#include "Eint.h"

/**
	* @brief  Sleep配置
  * @param  None
  * @retval None
	*/
#define IIC_CLOSE 	1		//休眠下关闭IIC
#define IIC_OPEN	 	0		//休眠下开启IIC
void SLEEP_INIT(void)
{
	/*未使用到的IO口需要配置为上拉或者下拉*/
	P00_FUN_DOWN;								//P00配置下拉
	P01_FUN_DOWN;								//P01配置下拉
	P02_FUN_DOWN;								//P02配置下拉
	P03_FUN_DOWN;								//P03配置下拉
	P04_FUN_DOWN;								//P04配置下拉
	P05_FUN_DOWN;								//P05配置下拉
	P06_FUN_DOWN;								//P06配置下拉
	P07_FUN_DOWN;								//P07配置下拉
	P10_FUN_DOWN;								//P10配置下拉
	P11_FUN_DOWN;								//P11配置下拉
	P12_FUN_DOWN;								//P12配置下拉
	P13_FUN_DOWN;								//P13配置下拉
	P14_FUN_DOWN;								//P14配置下拉
	P15_FUN_DOWN;								//P15配置下拉
	P16_FUN_DOWN;								//P16配置下拉
	P17_FUN_DOWN;								//P17配置下拉
	P20_FUN_DOWN;								//P20配置下拉
	P21_FUN_DOWN;								//P21配置下拉



#if IIC_CLOSE	/*不关闭烧录脚和IIC使能，芯片可以在休眠下仿真。该情况下休眠功耗会增加，调试后需要关闭IIC*/
	P11_FUN_DOWN;								//P11配置下拉
	P16_FUN_DOWN;								//P16配置下拉
	CLOSE_IIC;								//关闭IIC
#endif	

	EINT0_INIT();							//外部中断0，P03、P02、P01，P00上升沿触发中断
	EINT1_INIT();							//外部中断1，P07、P06、P05，P04下降沿触发中断
	

//	CLOSE_POR;								//关闭VDD的POR，默认开启（注：有一定风险，如需关闭请联系我司工程师评估）
	CLOSE_LVD;								//关闭LVD
	CLOSE_TK;									//关闭TK
	FLASH_SLEEP;							//Flash进入休眠模式
	ADC_VDD;									//ADC选择VDD基准	
	LDO_MODE3;								//LDO模式选择，低功耗下抗干扰能力逐渐增强，VDD=3.3V
														//模式0：3.1uA
														//模式1：4.1uA
														//模式2：4.6uA，
														//模式3：5.7uA
														
	SLEEP_STOP;								//进入STOP模式
	_nop_();
	_nop_();
	_nop_();
}