/******************************************************************** File Name : LoopQueue.h Description : 循环队列 *********************************************************************/ #ifndef __LoopQueue_H #define __LoopQueue_H #ifdef __cplusplus extern "C" { #endif /*-begin---------------------------------------------------------------*/ /********************************** 元素为unsigned char类型的队列 **********************************/ typedef struct UCQueue { unsigned char *buf;//缓冲 环形 unsigned short size;//buf长度 unsigned short in;//入指针位置 unsigned short out;//出指针位置 }UCQueue; /********************************** 元素为unsigned short类型的队列 **********************************/ typedef struct USQueue { unsigned short *buf;//缓冲 环形 unsigned short size;//buf长度 unsigned short in;//入指针位置 unsigned short out;//出指针位置 }USQueue; void UCQueueInit(UCQueue *queue,unsigned char *pBuf, unsigned short BufLen);//队列初始化 int UCQueueOut(UCQueue *queue);//出队列 返回-1标识队列已空,返回0~255为出队列元素值 int UCQueueIn(UCQueue *queue,unsigned char data);//入队列,返回-1标识队列已满,返回0入成功 void USQueueInit(USQueue *queue,unsigned short *pBuf, unsigned short BufLen);//队列初始化 int USQueueOut(USQueue *queue);//出队列 返回-1标识队列已空,返回0~65535为出队列元素值 int USQueueIn(USQueue *queue,unsigned short data);//入队列,返回-1标识队列已满,返回0入成功 /*-end---------------------------------------------------------------*/ #ifdef __cplusplus } #endif #endif /*__LoopQueue_H*/ /******END OF FILE****/