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

📄 uart.h

📁 本文档用于描述一体化组合模块485监控板监控对象
💻 H
字号:
#ifndef __UART_H__
#define __UART_H__

void Init_UART0();
void UART_receive_loop();
void UART_Send();
void Response_error(U8 ErrorCode);
void Deal_data();
U16 CRC_generator(U8 *CrcArray, U8 length);
U8 Verify_CRC(U8 *CrcArray, U8 length);
void Add_CRC(U8 *CrcArray, U8 length);
U8 Decode_data();
void Code_data(U8 length);
void Command_distill(void);


#define RETURN_DATA()                                                           \
{																		\
	memcpy(UARTContext.TxBuff,UARTContext.RxBuff,UARTContext.RxLen);	\
	UARTContext.TxLen=UARTContext.RxLen;					\
	UART_Send();														\
}

#define RESET_RECEIVER()												\
{																		\
	UARTContext.RxPt=UARTContext.RxBuff;/*Point to the receive buffer*/	        \
	UARTContext.RxLen=0;				/*Clear Receive data Length*/	\
	UARTContext.RxValidFlag=FALSE;	/*None valid data*/				\
	UARTContext.RxBeginFlag=FALSE;	/*None Begin data*/				\
}

#define COMMAND_START 13

//===================================
// Response Code
//===================================
#define INERRANCY	0
#define CRC_ERROR	1
#define LENGTH_ERROR	2
#define ADDRESS_ERROR	3

//====================================
// Interface protocol length
//====================================
// | BEGIN | ADDRESS | COMMAND | FLAG | LENGTH | DATA | CRC | END |
// |   1   |    2    | 	   1   |  1	  |    1   |unknow|  2	|  1  |
#define UART_LENGTH_LIMIT  9    // 1+2+1+1+1+unknow+2+1


#endif //__UART_H__

⌨️ 快捷键说明

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