📄 protocol.h
字号:
#ifndef _PROTOCOL_H_
#define _PROTOCOL_H_
#define NULL_PORT 0
#define IR_PORT BIT0
#define RS485_PORT BIT1
#define RS485_2_PORT BIT2
#define IR_RC BIT3
#define ANA_UART_PORT BIT4
#define COMM_RX_FINISH BIT7
#define FRAME_BUFFER_LEN 255
#define FRM_ADDR_LEN 6
#define COM_ATTRIBUTE_SINGLE 0x5A
#define COM_ATTRIBUTE_BROADCAST 0xA5
#define FRM_START_BYTE1 0
#define FRM_ADDR 1
#define FRM_START_BYTE2 7
#define FRM_COMMAND 8
#define FRM_DATALEN 9
#define FRM_DATA 10
#define FRM_CS FrameBuffer[FRM_DATALEN]+10
#define FRM_STOP_BYTE FRM_CS+1
#define DI1 FRM_DATA+1
#define DI0 FRM_DATA
#define FRAME_DATA_APPENDVALUE 0x33
#define PRE_FRAME_FLAG 0xFE
#define FRAME_START_FLAG 0x68
#define FRAME_END_FLAG 0x16
#define UART_RXD_OK 0
#define UART_WAIT_START_BYTE1 1
#define UART_WAIT_ADDRESS 2
#define UART_WAIT_START_BYTE2 3
#define UART_WAIT_CTL_WORD 4
#define UART_WAIT_DATA_LENGTH 5
#define UART_WAIT_DATA 6
#define UART_WAIT_CS 7
#define UART_WAIT_STOP_BYTE 8
#define UART_RXD_PARITY_ERR 9
#define UART_RXD_OVERTIME_ERR 10
#define UART_RXD_CONFIRM_BONDRATE 11
#define UART_RXD_BUF_SIZE 48
#define UART_TXD_BUF_SIZE 7
#define UART_START_BYTE 0x68
#define UART_STOP_BYTE 0x16
#define FRM_CTRW_READ_SLVS_DATA 0x01 //主机发出命令读数据
#define FRM_CTRW_WRITE_SLVS_DATA 0x04 //主机发出命令写数据
#define FRM_CTRW_READ_MNUM 0x16
#define FRM_CTRW_WRITE_PASSWORD 0x0F //修改密码
#define FRM_CTRW_CLR_PWRDATA 0x09
#define FRM_CTRW_CLR_METER_DATA 0x6B
#define FRM_CTRW_CLR_PASSWORD 0x6F
#define FRM_CTRW_PWR_FREEZE 0x07
#define FRM_CTRW_REVISE_TIME 0x08 //广播校时
#define FRM_CTRW_WRITE_MNUM 0x0A //写设备地址
#define FRM_CTRW_BAUD_RATE 0x0C //更改通信率率
#define FRM_CTRW_CLR_REQ_PWRDATA 0x10
#define FRM_CTRW_READ_LOAD_CURVE 0x11
#define FRM_CTRW_CLR_ZT_DATA 0x6C
#define RET_READ_E2PROM_A 0x01 //返回这个说明要人铁电里面读数据
#define RET_READ_E2PROM_V 0x02 //返回这个说明要从flash里面读数据
#define RET_WRITE_E2PROM_A 0x04
#define RET_WRITE_E2PROM_V 0x08
#define RET_SEND_RIGHT_RESPONSION 0x10
#define RET_SEND_ERROR_RESPONSION 0x20
#define RET_NO_RESPONSION 0x40
#define RET_ERR_INVALID_DATA 0x01
#define RET_ERR_ID 0x02
#define RET_ERR_PASSWORD 0x04
#define RET_ERR_TIME_ZONE_OVER 0x10
#define RET_ERR_POT_SWITCH_OVER 0x20
#define RET_ERR_TARIFF_OVER 0x40
#define RET_ERR_LOAD_CURVE 0x80
#define STA_CLR_PWD BIT0
#define STA_CLR_PWRDATA BIT1
#define STA_CLR_METER BIT2
#define STA_CLR_METER_CONSTRANT BIT3
#define STA_CLR_E2PROM_A BIT4
#define STA_CLR_E2PROM_V BIT5
#define COMM_TIMEOUT 8
extern const unsigned char phase_power_item[];
extern unsigned char FrameBuffer[FRAME_BUFFER_LEN];
extern unsigned char FramePointer;
extern unsigned long DI1DI0;
extern unsigned char _wait_time;
extern unsigned char CommPortBak;
extern unsigned char DI0_H;
extern unsigned char DI0_L;
extern void SysParseFrame(void);
extern void ResetClearStatusWord(void);
extern void CopySystemTime(unsigned char *data1,unsigned char *data2);
extern void PowerMeterClrReqData(void);
extern unsigned char CommProcess(void);
extern unsigned char CompSlvsAddr(void);
extern unsigned char FindCmdItem(const unsigned char *cmd,unsigned char ctlw);
extern unsigned char RxFrameDispose(void);
extern unsigned char SlvsProcClrPwrData(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -