ZDBMS/header_app/UartApp.h

140 lines
3.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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