📄 rs485.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 + -