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

📄 mcu_ring_queue.h

📁 Altera公司开发板1c20 CF卡通用例程(初始化、读、写、测试等)-Altera Corporation development board 1c20 CF cartoon with routi
💻 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 + -