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

📄 comm.h

📁 ucOS 在单片机上实现
💻 H
字号:
#ifndef    _COMM_H_
#define    _COMM_H_
#include "typedef.h"

////////////////////////////////////////////////////////////////////////////
//		MACROS DEFINE BLOCK
#define 	EMPTY 				((uint8_t)1)
#define 	FULL  				((uint8_t)0)

#define 	COMM_RECE_MAX_BUF  	((uint8_t)32)   // receive data buffer size
#define		COMM_RECE_READ_BUF	((uint8_t)16)   // read receive data buffer size
#define 	COMM_SEND_MAX_BUF  	((uint8_t)48)   // send data buffer size

#define 	INBUF_MASK 	(uint8_t)((uint8_t)COMM_RECE_MAX_BUF - (uint8_t)1)
#define   	DATARANG	(uint32_t)((uint32_t)0xFFFFFFFF-(uint32_t)COMM_RECE_MAX_BUF)

#define		COMM_RECEIVE_NORMAL	((uint8_t)0x02)
#define		COMM_RECEIVE_TRUE	((uint8_t)0x01)
#define		COMM_RECEIVE_FALSE	((uint8_t)0x00)

////////////////////////////////////////////////////////////////////////////
//		DATA TYPE DEFINE BLOCK
typedef struct
{
	union UartState
	{
		struct BIT
		{
			uint8_t bAutotestSameCMD: 1,
					bSending		: 1,
					bReserved		: 6;
		} BITS;

		uint8_t ucValue;
	} state;


	uint8_t		ucSendPush;
	uint8_t		ucSendPop;

	uint8_t		ucReadPush;
	uint8_t		ucReadPop;

	uint8_t 	sendbuf[COMM_SEND_MAX_BUF];
	uint8_t 	recebuf[COMM_RECE_MAX_BUF];

	uint8_t		ucProtocolStep;
	uint8_t		ucPackageStep;

	uint8_t		ucRet;
	uint8_t		ucLength;
	uint8_t		ucPreample;
	uint8_t		ucCommand;
	uint8_t		ucReceiveIndex;

	uint8_t		ucReadBuffer[COMM_RECE_READ_BUF];
} SERIAL_COMM_ST;


////////////////////////////////////////////////////////////////////////////
//		GLOBAL EXTERN VARIABLES DEFINE BLOCK
extern SERIAL_COMM_ST  stComm;


////////////////////////////////////////////////////////////////////////////
//		GLOBAL EXTERN FUNCTIONS PROTOTYPE DEFINE BLOCK
uint8_t CommDataRead(uint8_t* buf, uint8_t len);
uint8_t	CommDataSend(const uint8_t *p,uint8_t ucSendNum);

void 	SerialCommInit(void);
void	AuToTestHandle(void);


#endif // #define    _COMM_H_

⌨️ 快捷键说明

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