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

📄 fifo_if.h

📁 epson usb2.0 控制芯片 S1R72V05 固件程序。
💻 H
字号:
#include "SPRDEF.h"

/*
 Prevention for double include
*/
#ifndef FIFO_IF_H
#define FIFO_IF_H

/*=== Define ==============================================================*/
#define	FIFO_IF_DIRIN			(1)
#define   FIFO_IF_DIROUT			(0)

#define	FIFO_IF_EVENTON		(1)
#define	FIFO_IF_EVENTOFF		(0)

#define	FIFO_IF_FIFO1_CMP		(0x02)
#define	FIFO_IF_FIFO0_CMP		(0x04)
#define	FIFO_IF_FIFO_FULL		(0x08)
#define	FIFO_IF_FIFO_EMPTY	(0x10)

#define	FIFO_IF_JOIN_STAT		      (0x40)
#define	FIFO_IF_JOIN_CPU_RD		(0x02)
#define	FIFO_IF_JOIN_CPU_WR		(0x01)

#define FIFO_IF_NUM_FIFO_A		(0x01)
#define FIFO_IF_NUM_FIFO_B		(0x02)
#define FIFO_IF_NUM_FIFO_C		(0x03)

/*=== Structure ===========================================================*/

/*--- API Table -----------------------------------------------------------*/
typedef struct usbifuserapitable {
	LONG (*Reset)(void);
	LONG (*Open)(void);
	LONG (*Close)(void);
	LONG (*SetIntEvent)(UCHAR event,UCHAR flag);
	LONG (*RegisterCBRFifoInCmp)(const CALLBACK_PROC pfnCallback);
	LONG (*UnregisterCBRFifoInCmp)(const CALLBACK_PROC pfnCallback);
	LONG (*RegisterCBRFifoOutCmp)(const CALLBACK_PROC pfnCallback);
	LONG (*UnregisterCBRFifoOutCmp)(const CALLBACK_PROC pfnCallback);
	void (*InterruptProc)(void);
} FIFO_IFAPITABLE;

/*=== Function Prototype ==================================================*/
extern LONG FIFO_IFReset(void);
extern LONG FIFO_IFOpen(void);
extern LONG FIFO_IFClose(void);
extern LONG FIFO_IFGetFIFODirection(UCHAR number,UCHAR *direction);
extern LONG FIFO_IFSetFIFODirection(UCHAR number,UCHAR direction);
extern LONG FIFO_IF_FIFORead(UCHAR number,UCHAR* pBuffer,ULONG numOfByteToRead,ULONG *pCount);
extern LONG FIFO_IF_FIFOWrite(UCHAR number,const UCHAR *pBuffer,ULONG numOfByteToWrite,ULONG *pCount);
extern LONG FIFO_IF_FIFORdRemain(UCHAR number,ULONG *pRemain);
extern LONG FIFO_IF_FIFOWrRemain(UCHAR number,ULONG *pRemain);
extern LONG FIFO_IF_FIFOClear(UCHAR number);
extern LONG FIFO_IF_FIFOAllClear(void);
extern LONG FIFO_IFGetFIFO_Join(UCHAR number,UCHAR *pJoin);
extern LONG FIFO_IFSetFIFO_Join(UCHAR number,UCHAR join,UCHAR flag);
extern LONG FIFO_IFClearFIFO_AllJoin(void);
extern LONG FIFO_IFSetIntEvent(UCHAR event,UCHAR flag);
extern LONG FIFO_IFGetIntEvent( UCHAR* pEvent );
extern LONG FIFO_IFRegisterCBRFifoIDECmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRFifoIDECmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRFifo1Cmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRFifo1Cmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRFifo0Cmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRFifo0Cmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRFifoFull(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRFifoFull(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRFifoEmpty(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRFifoEmpty(const CALLBACK_PROC pfnCallback);
extern void FIFO_IFInterruptProc(UCHAR fifoIntEnb);
extern LONG FIFO_IFGetIntEventMedia( UCHAR* pEvent );
extern LONG FIFO_IFRegisterCBRMediaIDECmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRMediaIDECmp(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRMediaFull(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRMediaFull(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFRegisterCBRMediaEmpty(const CALLBACK_PROC pfnCallback);
extern LONG FIFO_IFUnregisterCBRMediaEmpty(const CALLBACK_PROC pfnCallback);
extern void FIFO_IFInterruptProcMedia(UCHAR mediaFifoIntEnb);

#endif	/* UCHARIF_USER_H */

⌨️ 快捷键说明

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