📄 comm.h
字号:
/*************************************************************************
/* *
/* file : comm.h *
/* *
/************************************************************************/
// Serial Protocol
#define SOH 0x01
// Start of header
#define STX 0x02 // Start of text 起始字
#define ETX 0x03 // End of text 结束字
#define ENQ 0x05 // Enquire
#define ACK 0x06 // Acknowledge
#define DLE 0x10 // Data link escape 转移字
#define NAK 0x15 // Not acknowledge 不可识别
#define TRUE 1
#define FALSE 0
// Receive States
#define RECV_STX 0
#define RECV_DATA_DLE_ETX 1
#define RECV_ETX 2
#define RECV_DLE 3
#define RECV_DLE_OR_NAK 4
#define SEND_STX 5
#define RECV_ADDR0 6
#define RECV_ADDR1 7
#define RECV_ADDR2 8
#define RECV_ADDR3 9
// Serial Buffer
#define HEADER 3
#define MAXDATA 30
#define SUM_CHECK 1
#define SERBUFLEN HEADER + MAXDATA + SUM_CHECK + 1
#define T_533_ms 14
/********************************************/
sbit En485=P3^4;
bit LED_RED ;
bit LED_GREEN ;
#define SEND 1
#define RECV 0
/*************************** function ***********************/
void init_com(void);
void isr_timer0(void);
void isr_UART(void);
void START_T0(unsigned char x);
void CALL_isr_T0(void);
void cmd_execution(void);
/***************************** Global Variables ********************/
volatile unsigned char xdata SerBuffer[SERBUFLEN]; // SERBUFLEN = 35
unsigned char data ErrorCount ,Timer0Cnt;
unsigned char data RecvState;
volatile bit DataDleReceived;
unsigned char data Index;
volatile bit Cmdok;
volatile bit SendOk;
volatile bit SendReady;
volatile bit RecvReady;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -