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

📄 rs485.h

📁 基于pic16分46 的rs485通讯协议
💻 H
字号:


#define OUTPUTS_ON RD4
#define PKT_START 0x02
#define PKT_STOP  0x04

#define PKT_WAIT_START      0
#define PKT_WAIT_ADDR  	    1
#define PKT_WAIT_LEN        2
#define PKT_WAIT_CMD        3
#define PKT_WAIT_DATA       4
#define PKT_WAIT_STOP   	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


#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

#ifndef _485_LOC_
extern  unsigned char cOurAddr;
extern  unsigned char cRs485RxChar;
extern  unsigned char cRS485State;
extern  unsigned char cRetFlag;
extern  unsigned char cStart,cStop;
extern  unsigned char cNetAddr;
extern  unsigned char cLenExpected;
extern  unsigned char cCommand;
extern  unsigned char cRxCrcHigh, cRxCrcLow;
extern  unsigned char cCalcCrcHigh, cCalcCrcLow;
extern  unsigned char cBufPtr;

bank1 extern   unsigned char c485Buf[32];
#endif

unsigned char Rs485Process(void);
void Rs485Initialize(unsigned char cAddr);

unsigned char Rs485Decode( void );
void Rs485UpdateCrc(unsigned char cVal );
void CRC16_Init( void );
void CRC16_Update4Bits( unsigned char val );
void Rs485SendPacket( unsigned char cCmd, unsigned char cLen,unsigned char *cData );
void Rs485GetPacket( unsigned char *cCom,unsigned char *cLen,unsigned char *cData );
void Rs485SendChar(unsigned char c );
unsigned char PostValidatePacket(void);
unsigned char PacketHasPayload(void);
void ConfigureComms(void);
void Setup(void);

⌨️ 快捷键说明

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