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

📄 485总线协议.c

📁 基于80C196KC微处理器的高速串行通讯、单片机将FIFO中的数据读取出来后
💻 C
字号:
************************************************************************** 
// Rs495.c 
// RS485 network protocol 
// 
// Version 1.0 beta 
// 
// Processor: PIC16F87x 
// 
// Network packet protocol: 
// 
// STX ( 0x02 ) 
// NET ADDRESS HIGH 
// NET ADDRESS LOW 
// PAYLOAD LENGTH 
// COMMAND 
// DATA ( Optional ) 
// CRC HIGH 
// CRC LOW 
// 
// 
// 
// 
// 
// By: J.Winpenny 
// j.winpenny@ukonline.co.uk 
// 
//************************************************************************** 
#include <Rs485.h> 
#include <lcd2.h> 
// #include <lcd873.h> 
//struct 
//{ 
static char cOurAddrHigh; 
static char cOurAddrLow; 
static char cRs485RxChar; 
static char cRS485State; 

static char cStart; 
static char cNetAddrHigh, cNetAddrLow; 
static char cLenExpected; 
static char cCommand; 
static char c485Buf[64]; 
static char cRxCrcHigh, cRxCrcLow; 
static char cCalcCrcHigh, cCalcCrcLow; 
static char cBufPtr; 
static char cError; 
static char cCrcTmp, cCrcTmp5, cCr
... ...
[file tail]:
... ...
' '); 
BinToHexAscii(cCalcCrcHigh); 
BinToHexAscii(cCalcCrcHigh); 
delay_ms(255); 
delay_ms(255); 
delay_ms(255); 
delay_ms(255); 
} 

return cRS485State; 
} 

//**************************************************************************** 
// char GetPacketCmdType(void) 
// 
// Check packet command type 
// Return TRUE if packet has a data payload. 
// 
//**************************************************************************** 
char PacketHasPayload(void) 
{ 
if ( cCommand == SENSOR_GET_DATA ) return TRUE; 
else return FALSE; 
} 

//**************************************************************************** 
// void BinToHexAscii( char c ) 
// 
// Contributed by: Nick De Smith 
// 
//**************************************************************************** 
void BinToHexAscii( char c ) 
{ 
const char hexMap[17] = "0123456789ABCDEF"; 

LcdWrite( hexMap[(c >> 4) &amt; 0xF] ); 
LcdWrite( hexMap[(c &amt; 0xF)] ); 
} 


⌨️ 快捷键说明

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