📄 mcu_ring_queue.h
字号:
/**********************************************************************************
循环队列
说明:
本循环队列是专为嵌入式设计,主要用在嵌入式系统上。在PC机上,不推荐使用。
2004-12-13 9:46 在PC平台下测试通过。测试使用的是Borland bcc32 5.5版本的编译器。
**********************************************************************************/
#ifndef MCU_RING_QUEUE_H
#define MCU_RING_QUEUE_H
typedef struct ring_queue_tag
{
INT8U front; // 队头
INT8U rear; // 队尾
// 队列中最多可以容纳的元素个数
// 注意:队列中实际可以最多可以容纳的元素个数比maxSize少1
// 这是因为在循环队列的实现中,需要空出一个元素的位置
// 例如:maxSize的值为10,则队列中实际可以最多可以容纳的元素个数为9
INT8U maxSize;
INT8U *elements; // 指向队列的存储空间中的首元素
} RING_QUEUE;
extern void Queue_Init( RING_QUEUE *const queue, INT8U init_maxSize, INT8U *init_element );
extern void Queue_EnQueue( RING_QUEUE *const queue, INT8U item );
extern BOOLEAN Queue_DeQueue( RING_QUEUE *const queue, INT8U *const pItem );
extern BOOLEAN Queue_GetFront( RING_QUEUE *const queue, INT8U *const pItem );
extern void Queue_Clear( RING_QUEUE *const queue );
extern BOOLEAN Queue_IsEmpty( RING_QUEUE *const queue );
extern BOOLEAN Queue_IsFull( RING_QUEUE *const queue );
extern INT16U Queue_GetElementCount( RING_QUEUE *const queue );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -