| | |
| | | #define __KBUS_H__
|
| | | typedef unsigned char uchar;
|
| | |
|
| | | extern int bMaster,bSlave;
|
| | | extern unsigned char bKBusMaster,bKBusSlave,bKBusRepeater;;
|
| | | enum enCMDs
|
| | | {
|
| | | cmdNone = '0', //Nothing
|
| | |
| | | extern unsigned char nCurPollId;
|
| | | extern unsigned char nSeq;
|
| | |
|
| | | extern volatile int MasterRecved;
|
| | | extern volatile int MasterRecvOK;
|
| | | extern volatile int SlaveRecved;
|
| | | extern volatile unsigned char MasterRecved;
|
| | | extern volatile unsigned char MasterRecvOK;
|
| | | extern volatile unsigned char SlaveRecved;
|
| | | extern unsigned int SendTimeuS;
|
| | | extern volatile int RecvTimeuS;
|
| | | extern int DelayuS;
|
| | |
| | | };
|
| | | };
|
| | | } stChnStat;
|
| | |
|
| | | extern stChnStat ChnStats[8];
|
| | |
|
| | | typedef struct tagSlaveStat
|
| | |
| | |
|
| | | 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
|
| | |
| | | S_TIMEOUT=2
|
| | |
|
| | | } ;
|
| | |
|
| | | unsigned char BCC(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 CheckPacket(pPacket p1,int len1);
|
| | | int CheckPacket(int nChn, pPacket p1, int len1);
|
| | |
|
| | | /* */
|
| | | int ParsePacket(pPacket p1, int Len1);
|
| | | int ParsePacket(int nChn, pPacket p1, int Len1);
|
| | | typedef struct tagMachineConfig
|
| | | {
|
| | | int bMaster;
|
| | | int bKBusMaster;
|
| | | int nAddr;
|
| | | }stMachineConfig;
|
| | |
|
| | |
| | |
|
| | | int GetStat(void);
|
| | |
|
| | |
|
| | |
|
| | | |
| | |
|
| | | int KBusRepeaterFunc(int nChn);
|
| | | int KBusMasterFunc(int nChn);
|
| | | int KBusSlaveFunc(int nChn);
|
| | |
|
| | | #endif /* __KBUS_H__ */
|
| | |
|