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

📄 myqueue.h

📁 uC/OS2系统下的高效队列源码
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -