📄 communicate.h
字号:
#ifdef COMM_GLOBALS
#define COMM_EXT
#else
#define COMM_EXT extern
#endif
#define RECEIVEMAXLENGTH 60
#define SENDMAXLENGTH 55
#define MAXCOMMUNICATENUM 28
#define KPRG
//485控制
#define P_485NEnDe HF_PDR9_P93
#define En_485Re P_485NEnDe=1;DelayXus(50)
#define En_485Tr P_485NEnDe=0;DelayXus(50)
//IR控制
#define Close_IRReceiveEdgInt HF_IENR1_IEN0=0;HF_PMR2_IRQ0=0
#define Open_IRReceiveEdgInt HF_PMR2_IRQ0=1;HF_IEGR_IEG0=0;\
HF_IRR1_IRRI0=0;HF_IENR1_IEN0=1
#define Start_IrMdlt HF_PMR3_TMOFL=1
#define Stop_IrMdlt HF_PMR3_TMOFL=0
#define UartReceiveEnable HF_SCR3_RE=1
#define UartReceiveDisable HF_SCR3_RE=0
#define UartTransmitEnable HF_SCR3_TE=1
#define UartTransmitDisable HF_SCR3_TE=0
#define Is_ProGramPermit HF_PDR5_P53==0
#define Is_ProGramDisable HF_PDR5_P53==1
#define ERROR_PASSWORD 0
#define SUPER_PASSWORD 1
#define CLEAR0_PASSWORD 2
#define PROGRAM_PASSWORD 3
//////////////////////////////
struct CommunicateDataStruct
{
INT16U CommunicateDataID;//数据标识
INT8U DataLength;//数据长度
INT8U PropertyData1;//特征数据1
//INT8U PropertyData2;//特征数据2
INT8U EepromDataId;//EEPROM数据ID
INT16U RamDataAddress;//RAM数据地址;
};
////////////////////////////////////////
COMM_EXT union Union_ByteDef CommStateFlag;
#define _Broadcast_ CommStateFlag.BIT.b0
#define _Communicate_ CommStateFlag.BIT.b1
#define _DataSend_ CommStateFlag.BIT.b2
#define _BroadCalibrateTimeAllow_ CommStateFlag.BIT.b3
///////////////////////////////////////////
COMM_EXT INT8U Com485ReceiveBytes;
COMM_EXT INT8U Com485Cnt;
COMM_EXT INT8U SendDelayCnt;
COMM_EXT INT8U SendPnt,SendLen;
COMM_EXT INT8U SendBuf[SENDMAXLENGTH];
COMM_EXT INT8U RecBuf[RECEIVEMAXLENGTH];
COMM_EXT INT8U PreCharactorCnt;
COMM_EXT INT8U RecPnt,RecTmr,RecState,ReceiveCnt;
COMM_EXT INT8U UserNumber[6];
COMM_EXT INT8U CommunicateCnt;
COMM_EXT INT8U ProgramPassWord[4];
COMM_EXT INT8U Clear0PassWord[4];
COMM_EXT INT8U ProgramTimes[2];
COMM_EXT void CommunicateInit(void);
COMM_EXT void CommunicateReceiveEnable(void);
COMM_EXT void CommunicateSendEnable(void);
COMM_EXT INT8U DichotomySearch(INT16U DataID);
COMM_EXT void DatagramDeal(void);
COMM_EXT INT8U CommunicateReadData(void);
COMM_EXT INT8U CommunicateWriteData(void);
COMM_EXT void BroadcastSetTime(void);
COMM_EXT void CommunicateWriteUserID(void);
COMM_EXT INT8U CommunicateChangePassword(void);
COMM_EXT void SetProgramPassword(void);
COMM_EXT void SetClear0Password(void);
COMM_EXT void CommunicateClearDemand(void);
COMM_EXT INT8U CheckDeviceNumber(INT8U *PDeviceNumber);
COMM_EXT void DatagramDealTask(void);
COMM_EXT INT8U CheckTimeErrorOfMeter(void);
COMM_EXT void WriteProgramRecord(void);
COMM_EXT void DataReceive(void);
COMM_EXT INT8U CommunicateReadEeromPageData(void);
COMM_EXT INT8U IsBroadCalibrateTimePermit(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -