fifo.h

来自「在luminary平台下移植lwip到freertos,集成开发环境KEIL」· C头文件 代码 · 共 55 行

H
55
字号
#ifndef FIFO_H#define FIFO_H#include "lwip/sys.h"/** How many bytes in fifo */#define FIFOSIZE 2048/** fifo data structure, this one is passed to all fifo functions */typedef struct fifo_t {  u8_t data[FIFOSIZE+10]; /* data segment, +10 is a hack probably not needed.. FIXME! */  int dataslot;			  /* index to next char to be read */  int emptyslot;		  /* index to next empty slot */  int len;				  /* len probably not needed, may be calculated from dataslot and emptyslot in conjunction with FIFOSIZE */  sys_sem_t sem;		/* semaphore protecting simultaneous data manipulation */  sys_sem_t getSem;		/* sepaphore used to signal new data if getWaiting is set */  u8_t getWaiting;		/* flag used to indicate that fifoget is waiting for data. fifoput is suposed to clear */  						/* this flag prior to signaling the getSem semaphore */} fifo_t;/***   Get a character from fifo*   Blocking call.*	@param 	pointer to fifo data structure*	@return	character read from fifo*/u8_t fifoGet(fifo_t * fifo);/***   Get a character from fifo*   Non blocking call.*	@param 	pointer to fifo data structure*	@return	character read from fifo, or < zero if non was available*/s16_t fifoGetNonBlock(fifo_t * fifo);/***	fifoput is called by the signalhandler when new data has arrived (or some other event is indicated)*   fifoput reads directly from the serialport and is thus highly dependent on unix arch at this moment*	@param 	fifo pointer to fifo data structure*	@param	fd	unix file descriptor*/void fifoPut(fifo_t * fifo, int fd);/***   fifoinit initiate fifo*	@param 	fifo	pointer to fifo data structure, allocated by the user*/void fifoInit(fifo_t * fifo);#endif

⌨️ 快捷键说明

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