queue.h

来自「用LPC936实现通过SPI扩展多个串口,在这里实现了对多个通道的管理,C代码,」· C头文件 代码 · 共 26 行

H
26
字号
#ifndef _QUEUE_H
#define _QUEUE_H

#define queue_init(queue,buf,sz) queue.buffer = buf;queue.size = sz;\
				 queue.length = 0;queue.head = queue.tail = 0;

#define queue_unused(queue) queue.size - queue.length 

#define queue_clear(queue) queue.head = queue.tail,queue.length = 0;

#define queue_low(queue) (queue.length*4 < queue.size) ? 1:0

#define queue_high(queue) (queue_unused(queue)  < queue.size/2) ? 1:0

typedef struct Queue{
	unsigned char xdata *buffer;
	unsigned char size;
	unsigned char length;
	unsigned char head;
	unsigned char tail;
}Queue;

extern bit queue_input(Queue idata *queue,char c) reentrant;
extern int queue_output(Queue idata *queue) reentrant;

#endif

⌨️ 快捷键说明

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