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

📄 fifo.h

📁 在luminary平台下移植lwip到freertos,集成开发环境KEIL
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -