79 lines
2.6 KiB
C
79 lines
2.6 KiB
C
/*
|
|
******************************************************************************
|
|
*
|
|
* @file system.h
|
|
* @brief system module
|
|
*
|
|
*
|
|
* @version 1.0
|
|
* @date 2023/05/12 09:59:40
|
|
* @author Alex Xu
|
|
*
|
|
* Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
|
|
* All Rights Reserved
|
|
*
|
|
* History:
|
|
* Revision Date Author Desc
|
|
* 1.0.0 2023/07/12 Alex build this file
|
|
******************************************************************************
|
|
*/
|
|
|
|
#ifndef __SYSTEM_H__
|
|
#define __SYSTEM_H__
|
|
|
|
#include "define.h"
|
|
|
|
extern idata uint16_t Protect_Type_Flg;
|
|
extern idata uint16_t gIrq_Event_Type; //中断事件记录
|
|
extern idata uint8_t g_Plug_Irq_Flg;
|
|
|
|
#define Interrupt_Vector_IE0 0 //0x03,TP3310 IE0 use for wakeup
|
|
#define Interrupt_Vector_TF0 1 //0x0B,Timer 0 Overflow
|
|
#define Interrupt_Vector_TF1 3 //0x1B,Timer 1 Overflow
|
|
#define Interrupt_Vector_RI_TI 4 //0x23,Serial Port0 Interrupt
|
|
#define Interrupt_Vector_IE7 8 //0x43,Charger Interrupt
|
|
#define Interrupt_Vector_IE2 9 //0x4B,External Interrupr 2/VOX Interrupt
|
|
#define Interrupt_Vector_IE3 10 //0x53,External Interrupr 3/系统异常中断、电源插拔中断
|
|
#define Interrupt_Vector_IE4 11 //0x5B,External Interrupr 4/key和Hall中断
|
|
#define Interrupt_Vector_IE5 12 //0x63,NA
|
|
#define Interrupt_Vector_IE6 13 //0x6B,ADC中断
|
|
|
|
|
|
/*Protect Type*/
|
|
#define VIN_DPM_PRO_TYPE 0x04 //VIN DPM Protect Type
|
|
#define BAT_OVERVOL_PRO_TYPE 0x08 //BAT Overvoltage Protect Type
|
|
#define BOOST_OUTPUT_SHORT_PRO_TYPE 0x01
|
|
#define BOOST_UVLO_PRO_TYPE 0x02
|
|
#define BAT_LOW_PRO_TYPE 0x10
|
|
#define VBUS_OVERVOL_PRO_TYPE 0x20
|
|
#define DIE_OT_PRO_TYPE 0x40
|
|
#define OCP_PRO_TYPE 0x80
|
|
#define VOR_OUTPUT_SHORT_PRO_TYPE 0x100
|
|
#define VOL_OUTPUT_SHORT_PRO_TYPE 0x200
|
|
#define VOR_EARPHONE_BAT_LIPRO_TYPE 0x400
|
|
#define VOL_EARPHONE_BAT_LIPRO_TYPE 0x800
|
|
|
|
|
|
/*Wake Up Event*/
|
|
#define POWER_ON_EVENT 0x01
|
|
#define STANDBY_WKUP_TIMER_IRQ_EVENT 0x02
|
|
#define VBUS_PLGIN_IRQ_EVENT 0x04
|
|
#define KEY_IRQ_EVENT 0x08
|
|
#define HALL_IRQ_EVENT 0x10
|
|
#define VOR_LOADON_IRQ_EVENT 0x20
|
|
#define VOL_LOADON_IRQ_EVENT 0x40
|
|
#define VOR_IOFF_IRQ_EVENT 0x80
|
|
#define VOL_IOFF_IRQ_EVENT 0x100
|
|
#define VOR_RECHARGE_IRQ_EVENT 0x200
|
|
#define VOL_RECHARGE_IRQ_EVENT 0x400
|
|
#define LOW_BAT_EVENT 0x800 //低电
|
|
|
|
extern void System_Init(void);
|
|
extern void InSleep_Handler(void);
|
|
extern void OutSleep_Handler(void);
|
|
extern void Delay100us(void);
|
|
extern void Delay_us(volatile uint16_t us);
|
|
|
|
|
|
#endif
|