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

📄 at91_svc_usbin.h

📁 AT91RM9200的USB相关ACM CDC的源代码包! AT91RM9200-BasicUSBPipe-ARM1_2-2_0.zip
💻 H
字号:
//*----------------------------------------------------------------------------
//*      ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : AT91_SVC_USBIN.h
//* Object              : DMA service for UDP peripheral
//*
//* 1.0 Jul 30 2002 	: ODi Creation
//*----------------------------------------------------------------------------
#ifndef AT91_SVC_USBIN
#define AT91_SVC_USBIN
#include "AT91RM9200.h"

typedef struct _AT91S_SVC_USBIN {
	// Public Method:
	// ==============
	// TxHandler is invoked by IT handler
	void (*Handler) (struct _AT91S_SVC_USBIN *);
	void (*Write) (
		struct _AT91S_SVC_USBIN *,
		const char *,
		unsigned int,
		void (*)(struct _AT91S_SVC_USBIN *));

	// Private Datas:
	// ==============
	// Callbacks initialized by Read and Write functions
	void (*TxComplete) (struct _AT91S_SVC_USBIN *);

	// One transfer descriptor
	char *pBuffer;
	volatile unsigned int bufferSize;
	// Following stands as UDP static variables
	AT91PS_UDP pUdp;        // Pointer to UDP registers
	unsigned char epNb;     // Endpoint number
	unsigned char epSize;   // Size of the endpoint
	unsigned char nbBank;   // Number of banks (CTL endpoints = 1, FIFO endpoints = 2)
	unsigned char eot;      // used to mark the end of DATA IN stage
} AT91S_SVC_USBIN, *AT91PS_SVC_USBIN;

typedef void (*AT91PF_SVC_SVCUSBIN_TxComplete)  (AT91PS_SVC_USBIN);

//* ====================================================================================
extern AT91PS_SVC_USBIN AT91F_SVC_USBIN_Open(
	AT91PS_SVC_USBIN pSvcUdp,  // \arg Pointer to an USBIN service previously allocated
	AT91PS_UDP pUdp,            // \arg Pointer to UDP registers
	unsigned char epNb,         // \arg Endpoint Number
	unsigned char epSize,       // \arg Endpoint Size
	unsigned char nbBanks);     // \arg UDP DPR banks

extern void AT91F_SVC_USBIN_Handler(
	AT91PS_SVC_USBIN pSvcUdp);  // Pointer to an USBIN service

extern void AT91F_SVC_USBIN_Write(
	AT91PS_SVC_USBIN pSvcUdp,     // Pointer to an USBIN service
	const char *pBuffer,                 // Pointer to the client buffer to send
	unsigned int bufferSize,       // Client buffer size
	AT91PF_SVC_SVCUSBIN_TxComplete Callback); // Callback to invoke when buffer is Sent

#endif // AT91_SVC_USBIN

⌨️ 快捷键说明

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