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

📄 rs485.h

📁 基于PIC16F873构成485接口的C源码
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -