📄 comm.h
字号:
#ifndef COMM_
#define COMM_
#define TransReady_ 0x0040 /*The transmit reg. empty*/
#define HoldRegEmpty_ 0x0020 /*The transmit hold reg. empty*/
#define Start_Code1 0x0010 /*103 protocol start code1*/
#define Start_Code2 0x0068 /*103 protocol start code2*/
#define End_Code 0x0016 /*103 protocol end code*/
#define NotPrimaryFrame 0x005a
#define FrameFix 0x0055 /*Fix Frame */
#define FrameunFix 0x00aa /*InFix Frame*/
#define ReTransmit 0xdd /*sure that retransmit */
#define NoTransmit 0xcc /*sure that no retransmit */
#define XJ103Protocol 0xff /*Adopt 103 protocol*/
/*the flag of ASDU_50 flag*/
#define _TransTimeCome 0x10 /*fixed time to transmit*/
#define _Data_RDY 0x20 /*:=1,data has been transmit*/
#define _Data_Request 0x40
#define _Data_Request9 0x80
#define _Data_RDY9 0x100
/*The length of buffer must equal the defined length value in initcom.asm*/
extern int ReceBuffALen_;
extern int ReceBuffBLen_;
extern int ReceBuffCLen_;
extern int ReceBuffDLen_;
#define ReceBuffALen ((int) (&ReceBuffALen_)) /*receive buffer length*/
#define ReceBuffBLen ((int) (&ReceBuffBLen_)) /*receive buffer length*/
#define ReceBuffCLen ((int) (&ReceBuffCLen_)) /*receive buffer length*/
#define ReceBuffDLen ((int) (&ReceBuffDLen_)) /*receive buffer length*/
/*the flag for the function of receive frame*/
#define Again_AllReceive 0x0aa /*receive frame from head*/
#define Again_OneReceive 0x05a /*receive one char added to frame */
#define Check_Receive 0x055 /*receive frame that can be check*/
/*MessageFlagA 报文标志*/
#define Reset_FCB 0x00000001
#define Reset_CU 0x00000002
#define Reset_Device 0x00000004
#define ReModify_Time 0x00000008
#define Sets_Parameter 0x00000010 /*参数设置*/
#define Gen_Inspect_Start 0x00000020 /*总召唤启动*/
#define Gen_Inspect_End 0x00000040 /*总召唤结束*/
#define DIN_Status 0x00000080 /*遥信状态*/
#define DIN_Status_Change 0x00000100 /*遥信状态变位*/
#define Select_Tap_Obj 0x00000200 /*选择调压开关对象*/
#define Exec_Tap_Obj 0x00000400 /*执行调压开关对象*/
#define Esc_Tap_Obj 0x00000800 /*撤消调压开关对象*/
#define Tap_Chger_Status 0x00001000 /*调压开关位置*/
#define Tap_Status_Change 0x00002000 /*调压开关位置改变*/
#define Coulometer_Freeze 0x00004000 /*电度冻结*/
#define Coulometer_Count 0x00008000 /*电度量*/
#define Return_Version 0x00010000 /*雕版本号*/
#define Select_CB_Obj 0x00020000 /*选择断路器对象*/
#define Exec_CB_Obj 0x00040000 /*执行断路器对象*/
#define Esc_CB_Obj 0x00080000 /*撤消断路器对象*/
#define Command_Reply 0x00100000 /*?*/
#define WarningSignals 0x00200000
#define ASDU20_Sure 0x00400000 /*信号复归确认*/
#define ASDU20_Return 0x00800000 /*信号复归状态*/
#define Self_Inspection 0x01000000
#define ERROR_COMMAND 0x02000000
#define Setting_COMMAND 0x04000000
#define Coulometer_End 0x08000000 /*电度量结束*/
#define Coulometer_No 0x10000000 /*电度量结束*/
/*ErrorMsgFlagA 报文标志*/
#define Error_EPROM 0x00000001
#define Error_RAM 0x00000002
#define Error_Setting 0x00000004
#define OC_ACC_Direction 0x00000008
#define Zero1_Direction 0x00000010
#define Over_Load_Direction 0x00000020
#define Error_AD 0x00000040
#define OC_I_Direction 0x00000080
#define OC_II_Direction 0x00000100
//#define OC_III_Direction 0x00000200
#define LF_Direction 0x00000200
#define Reclose_Direction 0x00000400
#define Error_EPROM_ 0x00000000
#define Error_RAM_ 0x00000001
#define Error_Setting_ 0x00000002
#define Error_Relay_ 0x00000003
#define Error_5VPower_ 0x00000004
#define Error_CPU_Number_ 0x00000005
#define Error_AD_ 0x00000006
//#define OC_I_Direction_ 0x00000007
/*the flag of control code*/
#define _FCV 0x10
#define _FCB 0x20
#define _PRM 0x40
#define _ACD 0x20
/*the flag of control CB/Tap operation*/
#define _ACT 0x40
#define _SE 0x80
#define _DCO 0x03
#define _REQ 0xc0
#define _FRZ 0x0f /* 0x3f */
#define SET_COEFFICIENT_0 0x0 // 1
#define SET_COEFFICIENT_1 0x1 // 0.1
#define SET_COEFFICIENT_2 0x2 // 0.01
#define SET_COEFFICIENT_3 0x3 // 0.001
#define SET_CONTROL 0x0 // control word
#define SET_DATA 0x10 // data
#define SET_SYMBOL_POSTIVE 0x0 // symbol bit
#define SET_SYMBOL_NEGATIVE 0x80 // symbol bit
/*the flag of Commu. Status flag*/
#define _Rxd_Error 0x10 /*:=1, Error*/
#define _Txd_Error 0x20
#define _Lon_Rdy_Error 0x40
/*define in init16c554.asm,include initial and interrupt routine*/
extern unsigned char *Com_Port1;
extern unsigned char *Com_Port2 ;
extern unsigned char *Com_Port3 ;
extern unsigned char *Com_Port4 ;
extern unsigned int *RDY_OE ;
#define _485_OE1 0x02
/*the pointer of ReceiveBuffA_Struct of A channel communication*/
extern unsigned char** pInReceBuffA ; /*Input pointer address*/
extern unsigned char** pOutReceBuffA ; /*Output pointer address*/
extern unsigned char* ReceiveBuffA ; /*receive buffer start address*/
/*the pointer of ReceiveBuffB_Struct of B channel communication*/
extern unsigned char** pInReceBuffB ; /*Input pointer address*/
extern unsigned char** pOutReceBuffB ; /*Output pointer address*/
extern unsigned char* ReceiveBuffB ; /*receive buffer start address*/
/*the pointer of ReceiveBuffC_Struct of C channel communication*/
extern unsigned char** pInReceBuffC ; /*Input pointer address*/
extern unsigned char** pOutReceBuffC ; /*Output pointer address*/
extern unsigned char* ReceiveBuffC ; /*receive buffer start address*/
/*the pointer of ReceiveBuffD_Struct of D channel communication*/
extern unsigned char** pInReceBuffD ; /*Input pointer address*/
extern unsigned char** pOutReceBuffD ; /*Output pointer address*/
extern unsigned char* ReceiveBuffD ; /*receive buffer start address*/
extern int ASDU_50_FlagJK1;
extern int ASDU_9_FlagJK1;
extern void Init_16c554A(void); /*the address of Init_16c554A function*/
extern void Init_16c554B(void); /*the address of Init_16c554B function*/
extern void Init_16c554C(void); /*the address of Init_16c554C function*/
extern void Init_16c554D(void); /*the address of Init_16c554D function*/
/*define common buffer*/
typedef struct Buffer_Struct
{
unsigned char** pInBuffer; /*Input pointer address*/
unsigned char** pOutBuffer; /*Output pointer address*/
unsigned char* Buffer; /*receive buffer start address*/
int Length; /*receive buffer length*/
};
/*volatile relative to protection*/
extern UNSIGNED TMD_System_Clock;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -