⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slaveedmi.h

📁 电力行业的DL645采集程序,嵌入式Linux环境
💻 H
字号:

#ifndef SLAVEEDMI_H_
#define SLAVEEDMI_H_

#ifdef     ARM_SLAVEEDMI_GLOBALS 
#define  ARM_SLAVEEDMI_EXT
#else
#define	ARM_SLAVEEDMI_EXT    extern
#endif
#define SLAVE_EDMI_SEND_OUT  2
#define EDMI_FRAME_SIZE      255
#define SLAVE_EDMI_RECV_OUT     2


#define EDMI_STX    0x02
#define EDMI_ETX    0x03
#define EDMI_XON    0x11
#define EDMI_XOFF   0x13
#define EDMI_DLE    0x10

#define EDMI_ACK	0x06
#define EDMI_CAN	0x18


#define EDMI_EXP_CH   'E'

#define EDMI_SRC_ADDR 0x012b1668L

#define EDMI_FRAME_START   0
#define EDMI_FRAME_DATA    1
#define EDMI_FRAME_END     2

#define ERROR_NOT_LOGIN	9

#define EDMI_DLE_BIT       0x40
#define EDMI_DLE_MASK      0xbf


#define EDMI_TABLE_SIZE 91
#define EDMI_FRAME_START   0
#define EDMI_FRAME_DATA    1
#define EDMI_FRAME_END     2

#define ERROR_NOT_LOGIN	9

#define EDMI_DLE_BIT       0x40
#define EDMI_DLE_MASK      0xbf

#define  SLAVEEDMI_RX_NULL           0x00
#define  SLAVEEDMI_RX_SCMD          0x01
#define  SLAVEEDMI_RX_CLASCMD    0x01
#define  SLAVEEDMI_RX_DATA          0x02
#define  SLAVEEDMI_RX_END            0x03


typedef struct tagEDMICmdType
{
	INT8U stx;
	INT8U cmd;
	INT8U cmdData[1];
}_PACKED_ EDMICmdType;

typedef struct tagEDMICmdExpType
{
	INT8U stx;
	INT8U exp;
	INT32U dst;
	INT32U src;
	INT16U  sn;
	INT8U cmdData[1];
}_PACKED_ EDMICmdExpType;

typedef struct tagEDMICmdExpRespondType
{
	INT8U stx;
	INT8U exp;
	INT32U src;
	INT32U dst;
	INT16U  sn;
	INT8U cmdData[1];
}_PACKED_ EDMICmdExpRespondType;


typedef struct tagEDMICmdExpFrameType
{
	INT16U size;
	EDMICmdExpType *pEDMICmdExp;
}_PACKED_ EDMICmdExpFrameType;

typedef struct tagEdmiTableType
{
	INT16U LCId;
	INT16U IdAddr;
	INT8U num;
}_PACKED_ EdmiTableType;
typedef  struct tagSlaveEDMIRxStateType
{
	INT8U state;
	INT8U dleflag;
	INT16U offset;
	INT16U size;
}_PACKED_ SlaveEDMIRxStateType;
#define gSlaveEDMIRxData gSlaveRxBuff
#define SLAVEEDMI_WAIT_OUT 4

ARM_SLAVEEDMI_EXT SlaveEDMIRxStateType gSlaveEDMIRxState;



ARM_SLAVEEDMI_EXT	  int  InitEdmiCom(INT8U uart,int nSpeed,int nDataBits,char Parity,int nStopBit);
ARM_SLAVEEDMI_EXT	  int  SlaveEdmiLogin(MpComProperty *mpProperty);	
ARM_SLAVEEDMI_EXT		int  SlaveEdmiReadData(MpComProperty *mpProperty, INT16U dataId, INT8U *pbuf, INT16U bufsize, INT16U *psize);


#endif /*SLAVEEDMI_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -