myqueue.h

来自「uC/OS2系统下的高效队列源码」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef __MYQUEUE_H__
#define __MYQUEUE_H__

#include "config.h"


#ifndef MYQUEUE_DATATYPE
#define MYQUEUE_DATATYPE     uint8
#endif

#define MYQUEUE_OPTIMIZE_CPU_EN		0	//设定队列算法是否优化CPU占用率(0=优化执行速度)

typedef struct
{
	MYQUEUE_DATATYPE *Buffer;
	uint32 BufSize;	
	uint32 Front;
	uint32 End;	
}MYQUEUE_INFO;


//////////////////////////////////////////////////////////////////////////
//队列操作接口
//////////////////////////////////////////////////////////////////////////

//初始化队列
extern void InitMyQueue(MYQUEUE_INFO *queue, MYQUEUE_DATATYPE *pBuf, uint32 elemNum);

//清除队列中的所有数据
extern void ClearMyQueue(MYQUEUE_INFO *queue);

//向队列尾部增加一个元素
extern BOOL MyQueuePushBack(MYQUEUE_INFO *queue, MYQUEUE_DATATYPE data);

//从队列头部读取一个元素
extern BOOL MyQueuePopFront(MYQUEUE_INFO *queue, MYQUEUE_DATATYPE *data);

//向队列尾部增加n项个元素,并返回实际保存到队列中的元素数目。
extern uint32 MyQueuePushBackEx(MYQUEUE_INFO *queue, MYQUEUE_DATATYPE *dataBuf, uint32 size);

//从队列头部读取n个元素,并返回实际读取的元素数目。
extern uint32 MyQueuePopFrontEx(MYQUEUE_INFO *queue, MYQUEUE_DATATYPE *dataBuf, uint32 size);


#endif	//#ifndef __MYQUEUE_H__

⌨️ 快捷键说明

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