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

📄 queue.h

📁 这是一个基于ARM7的2134的在内存中开辟循环队列的的程序!
💻 H
字号:
/*
*******************************************************************************
*                    Copyright (c) 2005, Comba Telecom System
*                             All Rights Reserved
*
* Purpose           : queue header file
* File Name         : queue.h

* Chip type         : LPC22XX(ARM7TDMI)
* IDE               : ADS1.2

* Revision history  :
    01a,2005/08/16,Lu jiangmin  -- Creation(written),re. zlgmcu Chen mingji

* Description       :
    
  
*******************************************************************************
*/

#ifndef NOT_OK
#define NOT_OK              0xff                        /* 参数错误                                     */
#endif

#define QUEUE_FULL          8                           /* 队列满                                       */
#define QUEUE_EMPTY         4                           /* 无数据                                       */
#define QUEUE_OK            1                           /* 操作成功                                     */

#define Q_WRITE_MODE        1                           /* 操作成功                                     */
#define Q_WRITE_FRONT_MODE  2                           /* 操作成功                                     */

#ifndef QUEUE_DATA_TYPE
#define QUEUE_DATA_TYPE     INT8U
#endif

typedef struct {
    QUEUE_DATA_TYPE     *Out;                   /* 指向数据输出位置         */
    QUEUE_DATA_TYPE     *In;                    /* 指向数据输入位置         */
    QUEUE_DATA_TYPE     *End;                   /* 指向Buf的结束位置        */
    INT16U              NData;                  /* 队列中数据个数           */
    INT16U              MaxData;                /* 队列中允许存储的数据个数 */
    
    INT8U               (* ReadEmpty)();        /* 读空处理函数             */
    INT8U               (* WriteFull)();        /* 写满处理函数             */
    QUEUE_DATA_TYPE     Buf[1];                 /* 存储数据的空间           */
} DataQueue;


#ifndef IN_QUEUE
extern INT8U QueueCreate(void *Buf, INT32U SizeOfBuf, INT8U (* ReadEmpty)(), INT8U (* WriteFull)());        
extern INT8U QueueRead(QUEUE_DATA_TYPE *Ret, void *Buf);
extern INT8U QueueWrite(void *Buf, QUEUE_DATA_TYPE Data);
extern INT8U QueueWriteFront(void *Buf, QUEUE_DATA_TYPE Data);
extern INT16U QueueNData(void *Buf);
extern INT16U QueueSize(void *Buf);
extern void QueueFlush(void *Buf);
#endif

⌨️ 快捷键说明

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