//******************************************************************** // Ver 1.0 // 2021.11.19 1、新建文件。 //******************************************************************** #ifndef __CHARGER__H #define __CHARGER__H enum { CHARGER_CFG_DEFAUL = 0, CHARGER_CFG_PARA = 1, CHARGER_CFG_OUTPUT = 2, CHARGER_CFG_OFF = 3, CHARGER_CFG_SUCCESS = 1, CHARGER_CFG_FAIL = 2, }; typedef union { INT8U BYTES[2]; struct { INT8U ConnectErr: 1; INT8U ConnectShort: 1; INT8U OC: 1; INT8U OV: 1; INT8U UV: 1; INT8U Res1: 3; INT8U Res2: 2; INT8U OT1: 1; INT8U OT2: 1; } BITS; } ProtectStatus_str; typedef union { INT8U BYTES; struct { INT8U StallErr: 1; } BITS; } FaultStatus_Str; typedef struct { INT8U Head[3]; INT8U Addr; INT8U Cmd; INT8U ChargeVolt[2]; INT8U ChargeCurrent[2]; INT8U Temp; INT8U ChargeStatus; ProtectStatus_str ProtectStatus; FaultStatus_Str FaultStatus; INT8U Res1[3]; INT16U Crc16; } ChargerReciverPack1_Str; typedef struct { INT8U Head[3]; INT8U Addr; INT8U Cmd; INT8U ChargeVolt[2]; INT8U ChargeCurrent[2]; INT16U Crc16; } ChargerSendPack1_Str; typedef struct { ChargerSendPack1_Str ChargerSendPack1; ChargerReciverPack1_Str ChargerReciverPack1; } Charger_Str; extern Charger_Str CHARGER_Info; //************************************************************* #define CHARGER_SendChar(ptr) UART_SendChar(UART0,ptr) //SCP数据发送 #define CHARGER_Send(ptr, Len) UART_WriteBuff(UART0, ptr, Len) //************************************************************* extern INT8U CHARGER_ProtocolProcess(INT8U *ptr, INT8U Len); extern void CHARGER_SendPack(INT8U Cmd, INT16U Volt, INT16U Current); extern void CHARGER_Link(void); #endif