#ifndef _PROTO_H #define _PROTO_H #include // 上行统一使用M1模式,无确认 // 下行统一使用M2模式一次确认 #define _651_STX 2 #define _651_ETX 3 #define _651_ETB 23 #pragma pack (1) typedef struct _651_U_Header_t { uint16_t Head; uint8_t CentAddr; uint8_t DeviAddr[5]; uint16_t Pass; uint8_t FuncCode; uint16_t TypeLength; uint8_t Stx; } _651_U_Header_t; typedef struct _651_D_Header_t { uint16_t Head; uint8_t DeviAddr[5]; uint8_t CentAddr; uint16_t Pass; uint8_t FuncCode; uint16_t Type: 4; uint16_t Length: 12; uint8_t Stx; } _651_D_Header_t; #pragma pack () // 打包数据帧 int PacketHeader (uint8_t func, char * data, int length, char * txbuff); // 均匀时段报 int PakcetTimerUp (int k, char * tx_data); // 闸门状态自报 闸门开度发生变化时上报 int PacketSluiceUp (int k, char * tx_data); // 接受到提闸数据时,应答的ACK int PacketSluiceAck (char* tx_data); int PacketAnsAck (char * tx_data); int PacketUpRegist (char * tx_data); #endif