140 lines
3.7 KiB
C
140 lines
3.7 KiB
C
#ifndef __UART_APP_H
|
||
#define __UART_APP_H
|
||
|
||
#define UART_SLAVE_ADDR 0x00
|
||
#define UART_CMD_NO 0x01
|
||
#define UART_LENGTH 0x02
|
||
#define UART_DATA 0x03
|
||
|
||
#define CMD_RD_EEPROM 0x78
|
||
|
||
//主信息扫描命令字
|
||
#define CELL1 0X01
|
||
#define CELL2 0X02
|
||
#define CELL3 0X03
|
||
#define CELL4 0X04
|
||
#define CELL5 0X05
|
||
#define CELL6 0X06
|
||
#define CELL7 0X07
|
||
#define CELL8 0X08
|
||
#define CELL9 0X09
|
||
#define CELL10 0X0A
|
||
#define TOTAL_VOLTAGE 0X0B
|
||
#define EXT_TEMP1 0X0C
|
||
#define EXT_TEMP2 0X0D
|
||
#define DIE_TEMP1 0X0E
|
||
#define DIE_TEMP2 0X0F
|
||
#define CADC_CURRENT 0X10
|
||
#define FULL_CHG_CAP 0X11
|
||
#define REMAIN_CAP 0X12
|
||
#define R_SOC 0X13
|
||
#define CYCLE_COUNT 0X14
|
||
#define PACK_STATUS 0X15
|
||
#define BATTERY_STATUS 0X16
|
||
#define PACK_CONFIG 0X17
|
||
#define MANUFACTURE_COMMAND 0X18
|
||
|
||
//MCU参数区子命令号
|
||
#define DATA_FLASH_COMMAND 0x77
|
||
#define SUB_PAGE1 0x78
|
||
#define SUB_PAGE2 0x79
|
||
#define SUB_PAGE3 0x7A
|
||
#define SUB_PAGE4 0x7B
|
||
#define SUB_PAGE5 0x7C
|
||
#define SUB_PAGE6 0x7D
|
||
#define SUB_PAGE7 0x7E
|
||
#define SUB_PAGE8 0x7F
|
||
#define RTC_SUBID 0x0C
|
||
|
||
//校准命令字
|
||
#define CALI_VOL_COMMAND 0xA0
|
||
#define CALI_TS1_COMMAND 0xA1
|
||
#define CALI_TS2_COMMAND 0xA2
|
||
#define CALI_CUR_COMMAND 0xA3
|
||
#define CALI_ZERO_CUR_COMMAND 0xA4
|
||
#define CALI_RTC_COMMAND 0xAF
|
||
|
||
#define CMD_E2PROM_ERASE 0xB0
|
||
#define CMD_E2PROM_ERASE_4K 0xB1
|
||
|
||
#define CMD_VALID_ACK 0x5A
|
||
#define CMD_INVALID_ACK 0xFF
|
||
|
||
#define Uart0SendAck() Uart0TxEn(CMD_VALID_ACK)
|
||
#define Uart0SendNack() Uart0TxEn(CMD_INVALID_ACK)
|
||
#define Uart0SendData() Uart0TxEn(ucUart0Buf[ucUart0BufPT])
|
||
|
||
#define Uart1SendAck() Uart1TxEn(CMD_VALID_ACK)
|
||
#define Uart1SendNack() Uart1TxEn(CMD_INVALID_ACK)
|
||
#define Uart1SendData() Uart1TxEn(ucUart1Buf[ucUart1BufPT])
|
||
|
||
#define Uart2SendAck() Uart2TxEn(CMD_VALID_ACK)
|
||
#define Uart2SendNack() Uart2TxEn(CMD_INVALID_ACK)
|
||
#define Uart2SendData() Uart2TxEn(ucUart2Buf[ucUart2BufPT])
|
||
|
||
|
||
//IAP相关定义
|
||
#define HEARD1 0x00
|
||
#define HEARD2 0x01
|
||
#define LENGTH 0x02
|
||
#define SOURCE 0x03
|
||
#define TARGET 0x04
|
||
#define COMMAND 0x05
|
||
#define INDEXES 0x06
|
||
#define DATA 0x07
|
||
#define IAP_BMSID 0x07 //电池管理系统1
|
||
#define IAP_PCID 0x3D //上位机系统
|
||
//IAP&ISP Command
|
||
#define IAP_CMD_HANDSHAKE 0x06
|
||
#define IAP_CMD_BEGIN 0x07
|
||
#define IAP_CMD_TRANS 0x08
|
||
#define IAP_CMD_VERIFY 0x09
|
||
#define IAP_CMD_RESET 0x0A
|
||
|
||
#define IAPERROR_CHECKSUM 0x80
|
||
#define IAPERROR_ADDR 0x40
|
||
#define IAPERROR_CMD 0x20
|
||
|
||
extern BOOL bISPFlg; //ISP升级标志,进入ISP程序
|
||
extern BOOL bUart0ReadFlg;
|
||
extern BOOL bUart0WriteFlg;
|
||
extern BOOL bUart0SndAckFlg; //UART已经发送ACK给主机
|
||
|
||
extern BOOL bUart1ReadFlg;
|
||
extern BOOL bUart1WriteFlg;
|
||
extern BOOL bUart1SndAckFlg; //UART已经发送ACK给主机
|
||
|
||
extern BOOL bUart2ReadFlg;
|
||
extern BOOL bUart2WriteFlg;
|
||
extern BOOL bUart2SndAckFlg; //UART已经发送ACK给主机
|
||
|
||
extern U8 xdata ucSubClassID;
|
||
extern U8 xdata ucUart0Buf[];
|
||
extern U8 xdata ucUart0BufPT;
|
||
extern U8 xdata ucUart0SndLength;
|
||
extern U8 xdata ucUart0TimeoutCnt;
|
||
|
||
extern U8 xdata ucUart1Buf[];
|
||
extern U8 xdata ucUart1BufPT;
|
||
extern U8 xdata ucUart1SndLength;
|
||
extern U8 xdata ucUart1TimeoutCnt;
|
||
|
||
extern U8 xdata ucUart2Buf[];
|
||
extern U8 xdata ucUart2BufPT;
|
||
extern U8 xdata ucUart2SndLength;
|
||
extern U8 xdata ucUart2TimeoutCnt;
|
||
|
||
extern void InterruptUart0AppRx(U8 RxData);
|
||
extern void InterruptUart0AppTx(void);
|
||
extern void Uart0Check(void);
|
||
|
||
extern void InterruptUart1AppRx(U8 RxData);
|
||
extern void InterruptUart1AppTx(void);
|
||
extern void Uart1Check(void);
|
||
|
||
extern void InterruptUart2AppRx(U8 RxData);
|
||
extern void InterruptUart2AppTx(void);
|
||
extern void Uart2Check(void);
|
||
|
||
|
||
#endif |