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

📄 rs485.h

📁 电梯楼层采集器代码
💻 H
字号:
#ifndef __RS485_H_
#define __RS485_H_

#define   max485_off()		PORTD &= ~(1<<5)  
#define   max485_on()		PORTD |= (1<<5)  //RS485使能

#define   C51max485_off()	PORTD &= ~(1<<6)  
#define   C51max485_on()	PORTD |= (1<<6)  //RS485使能

#define BOOT_CODE     0xfe
#define DEVICE_NUMBER 0x02

/*网络通讯协议代码表*/
/*参数传递: 0 - 0x3F*/
#define CMD_GET_DCUID     		 0x01   //取控制器型号版本     /*取控制器识别码*/   
#define CMD_GET_TIME      		 0x02   //取时间           	   /*取控制器时间*/   		  
#define CMD_GET_CONFIG    		 0x03   //设控制器参数表       /*取系统配置参数*/   
#define CMD_GET_CARDSET   		 0x04   //取卡注册表           /*取系统注册表*/	 	
#define CMD_GET_USER      		 0x05   //取用户楼层授权资料   /*取用户资料表*/		
#define CMD_GET_USER_TIME 		 0x06   //取用户时间组授权资料 /*取用户时间组*/		
#define CMD_GET_AUTH_TIME 		 0x0D   //取控制器授权时间组   /*取电梯授权时间组*/ 
#define CMD_GET_EVENT     		 0x11   //取历史事件           /*取控制器历史事件*/ 
#define CMD_GET_PRODUCT_CODE     0x1f   //                     /*取产品标签代码*/  


#define CMD_SET_TIME      		 0x22   //设时间               /*下载系统时间*/		 
#define CMD_SET_CONFIG    		 0x23   //设控制器参数表       /*下载系统配置参数*/  
#define CMD_SET_CARDSET   		 0x24   //设卡注册表           /*下载系统卡注册表*/  
#define CMD_SET_USER      		 0x25   //设用户楼层授权资料   /*下载用户资料表*/	 
#define CMD_SET_USER_TIME 		 0x26   //设用户时间组授权资料 /*下载用户时间组*/	 
#define CMD_SET_AUTH_TIME 		 0x2D   //设控制器授权时间组   /*下载电梯授权时间组*/
#define CMD_SET_PRODUCT_CODE     0x3f   //                      /*设置产品标签代码*/  

/*状态控制: 0x40 - 0x7F*/
#define CTL_GET_UNIT_STATUS      0x40                  		   /*取控制器状态*/
#define CTL_SET_UNIT_STATUS      0x60                          /*设置控制器状态*/

/*命令响应:   0x80 - 0xBF*/
#define RESP_CMD_OK              0x81                          /*命令接收正常*/
#define RESP_INVALID_INSTRUCT    0x83                          /*无效指令*/
#define RESP_INVALID_DATA        0x84                          /*无效数据*/
#define RESP_NULL                0x85                          /*空数据*/

#define TEST        0     /*退出调试模式*/
//#define TEST      1     /*进入调试模式*/

struct data
{
   unsigned char pc_rxd;
   unsigned char pc_txd;
   unsigned char c51_rxd;
   unsigned char c51_txd;
};

struct StructOfProtocol  /*通讯协议数据结构*/
{
  unsigned char Address;  /*控制器地址码*/
  unsigned int  Length;   /*包长度*/
  unsigned char Command;    /*命令代码*/
  unsigned char Data[256]; /*数据*/
};

struct Device51_StructOfProtocol  /*通讯协议数据结构*/
{
  unsigned char Address;  /*控制器地址码*/
  unsigned int  Length;   /*包长度*/
  unsigned char Command;    /*命令代码*/
  unsigned char Data[256]; /*数据*/
};

void Uart0_Init(void);
void CRC16(unsigned int *crc,unsigned char );

void CommandReply(unsigned char );
void communication_with_51director(void);
void communication_with_pc(void);
void BUS_SendPacket_51Device(void);
unsigned char BUS_GetPacket_51Device(void);

#endif

⌨️ 快捷键说明

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