| | |
| | |
|
| | | typedef struct tagPacket
|
| | | {
|
| | | unsigned char Sign; //��ʼ��� |
| | | unsigned char DstHost; //Ŀ���ַ
|
| | | unsigned char SrcAddr; //Դ��ַ
|
| | | unsigned char nCMD; //����
|
| | | unsigned char nSEQ; //���к�
|
| | | unsigned char PacketLen; //�����غɳ��� ������ͷ��5���ֽڣ�������β��BCC��
|
| | | unsigned char data[1]; //�����غ�,��ĩβ��BCC�����ݳ���Ϊ0ʱ��ʵ��Ҳ��һ�����ݡ�
|
| | | unsigned char Sign; //起始标记 |
| | | unsigned char DstHost; //目标地址
|
| | | unsigned char SrcAddr; //源地址
|
| | | unsigned char nCMD; //命令
|
| | | unsigned char nSEQ; //序列号
|
| | | unsigned char PacketLen; //数据载荷长度 不包括头部5个字节,不包括尾部BCC。
|
| | | unsigned char data[1]; //数据载荷,最末尾是BCC,数据长度为0时,实际也有一个数据。
|
| | | }stPacket,* pPacket;
|
| | |
|
| | | enum eResult
|
| | |
| | |
|
| | | } ;
|
| | |
|
| | | unsigned char BCC(void * pData, int nSize);
|
| | | unsigned char KBusBCC(void * pData, int nSize);
|
| | | //
|
| | | /* Make a Packet and return Packet Length */
|
| | | int MakePacket(pPacket p1,uchar Src, uchar Dst, uchar nType, uchar nSEQ, uchar DataLen, void *pData );
|
| | | int KBusMakePacket(pPacket p1,uchar Src, uchar Dst, uchar nType, uchar nSEQ, uchar DataLen, void *pData );
|
| | |
|
| | | /* */
|
| | | int CheckPacket(int nChn, pPacket p1, int len1);
|
| | | int KBusCheckPacket(int nChn, pPacket p1, int len1);
|
| | |
|
| | | /* */
|
| | | int ParsePacket(int nChn, pPacket p1, int Len1);
|
| | | int KBusParsePacket(int nChn, pPacket p1, int Len1);
|
| | | typedef struct tagMachineConfig
|
| | | {
|
| | | int bKBusMaster;
|
| | | int nAddr;
|
| | | }stMachineConfig;
|
| | |
|
| | | /*
|
| | | int InitMachine(stMachineConfig * pConfig);
|
| | |
|
| | | int SetConfig(void );
|
| | |
| | | int WriteData(void);
|
| | |
|
| | | int GetStat(void);
|
| | |
|
| | | */
|
| | | int KBusRepeaterFunc(int nChn);
|
| | | int KBusMasterFunc(int nChn);
|
| | | int KBusSlaveFunc(int nChn);
|