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

📄 cpudma_if.h

📁 epson usb2.0 控制芯片 S1R72V05 固件程序。
💻 H
字号:
/*
 * description: CPU DMA I/F definition
 * Maker	  : Kagaya Michiru
 * Copyright  : (C)2003,SEIKO EPSON Corp. All Rights Reserved.
 *
 *--------------------------------------------------------------------------
 * CPUDMA_IF.h,v 1.1
 */

#include "SPRDEF.h"

/*
* Prevent from twice include
*/
#ifndef CPUDMA_IF
#define CPUDMA_IF
/*
 * Linkage specifying
 */
#ifdef __cplusplus
	extern "C" {
#endif /* __cplusplus */


/*=== Exe MODE ============================================================*/
#define CPUDMA_IF_FREE_RUN			(0x01)
#define CPUDMA_IF_COUNT				(0x00)

/*=== DMA_MODE ============================================================*/
#define CPUDMA_IF_MODE_NOMAL		(0x00)
#define CPUDMA_IF_MODE_ADD_REC		(0x01)

/*=== EVENT ============================================================*/
#define CPUDMA_IF_DMA1_COUNTUP		(0x20)
#define CPUDMA_IF_DMA1_CMP			(0x10)
#define CPUDMA_IF_DMA0_COUNTUP		(0x02)
#define CPUDMA_IF_DMA0_CMP			(0x01)

#define	CPUDMA_IF_EVENTON			(1)
#define	CPUDMA_IF_EVENTOFF			(0)

/*=== Port Lock ============================================================*/
#define CPUDMA_IF_MAX_PORT			(0x02)		/* Stream Port Max Number */

#define CPUDMA_IF_PORT_UNLOCK 		(0x00)		/* Stream Lock Port */
#define CPUDMA_IF_PORT_LOCK   		(0x01)		/* Stream Unlock Port */

/*--- DMA Infomation ------------------------------------------------------*/
typedef struct _CPUDMA_IF_DMA_INFO {
	UCHAR bExeMode;		/* ExeMode */
	UCHAR bMode;		/* DMA_MODE */
	UCHAR bReqAsrtCnt;	/* Req Assert Count */
} CPUDMA_IFDMA_INFO, *PCPUDMA_IFDMA_INFO;

/*=== Function Prototype ==================================================*/
extern LONG CPUDMA_IFReset ( void );
extern LONG CPUDMA_IFInitPort( USHORT portNumber );
extern LONG CPUDMA_IFLockPort( USHORT portNumber );
extern LONG CPUDMA_IFUnlockPort( USHORT portNumber );
extern LONG CPUDMA_IFSetConfig ( UCHAR portNumber, const PCPUDMA_IFDMA_INFO pDmaInfo );
extern LONG CPUDMA_IFStart ( UCHAR portNumber, ULONG size );
extern LONG CPUDMA_IFStop ( UCHAR portNumber );

extern LONG CPUDMA_IFSetIntEvent (UCHAR event,UCHAR flag);

extern LONG CPUDMA_IFRegisterCBRDMA1_Countup ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFUnregisterCBRDMA1_Countup ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFRegisterCBRDMA0_Countup ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFUnregisterCBRDMA0_Countup ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFRegisterCBRDMA1_Cmp ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFUnregisterCBRDMA1_Cmp ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFRegisterCBRDMA0_Cmp ( const CALLBACK_PROC pfnCallback );
extern LONG CPUDMA_IFUnregisterCBRDMA0_Cmp ( const CALLBACK_PROC pfnCallback );

extern void CPUDMA_IFInterruptProc ( UCHAR cpuIntEnb );


#ifdef __cplusplus
	}
#endif /* __cplusplus */

#endif	/* CPUDMA_IF */

⌨️ 快捷键说明

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