rs485.h

来自「基于PIC16F873构成485接口的C源码」· C头文件 代码 · 共 63 行

H
63
字号
#separate
char Rs485Process(void);
void Rs485Initialise(char cAddrHigh, char cAddrLow);
#separate
char Rs485Decode( void );
void Rs485UpdateCrc(char cVal );
void CRC16_Init( void );
void CRC16_Update4Bits( char val );
void Rs485SendPacket( char cCmd, char cLen, char *cData );
void Rs485GetPacket( char *cCom, char *cLen, char *cData );
void Rs485SendChar( char c );
char PostValidatePacket(void);
char PacketHasPayload(void);
void BinToHexAscii( char c );


#define NULL 0

// Configurables
#define RS485_CONTROL PORTC
#define OUTPUTS_ON 5
#define NUM_TX_PREAMBLE 3


// Protocol defines
#define PKT_START 0x02

// States of packet decoder state machine
#define PKT_WAIT_START      0
#define PKT_WAIT_ADDR_HIGH  1
#define PKT_WAIT_ADDR_LOW   2
#define PKT_WAIT_LEN        3
#define PKT_CMD             4
#define PKT_WAIT_DATA       5
#define PKT_WAIT_CRC_HIGH   6
#define PKT_WAIT_CRC_LOW    7
#define PKT_COMPLETE        8
#define PKT_VALID           9
#define PKT_INVALID       255

// Error codes
#define BAD_LENGTH 1
#define BAD_CRC    2


// Packet types
#define SENSOR_POLL_CMD        0xA1
#define SENSOR_PING_SYNC       0xA2
#define SENSOR_CONFIG          0xA3
#define SENSOR_GET_DATA        0xA4



#define SENSOR_ACK             0xB0
#define SENSOR_NAK             0xC0







⌨️ 快捷键说明

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