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

📄 usb_includes.h

📁 学习资料S12源程序UF32 USB MCU方测试程序 CW环境
💻 H
字号:
#ifndef _H_USBMS_INCLUDES_	
#define _H_USBMS_INCLUDES_	

/****************************************************************************
*author 	: Freescale MCU & DSP Lab By Gedion
*
*修改记录	: 无
*
*文件描述	: 此文件声明定义的USB处理函数
*****************************************************************************/
#include 	"usb_extern.h"

void		USB_ModuleInit(void);
void 		IQUE_Module_Init(void);
void 		USB_InitBulkOnlyTransport(void);
void 		USB_DecodeSETUP(volatile UINT8 *p_Packet);
volatile 	UINT8 *USB_SetBufferPtr(UINT8 PhyEPNo);
void 		USB_Move2LocalBuffer(UINT8 *FR_ptr, UINT8 *TO_ptr, UINT16 Len);
UINT16		USB_GetMin(UINT16 Value1, UINT16 Value2);
void 		USB_Move2QUE3(UINT8 *FR_ptr, UINT16 Len);
void 		USBMS_SetPhyEP5Int(UINT16 Length);


// USB SETUP包的数据格式
#define	kSetupPacketSize			8		// Setup 包的大小
#define bmRequestType	    		0		
#define bRequest				    1		
#define wValue_l			    	2		
#define wValue_h			    	3		
#define wIndex_l			    	4		
#define wIndex_h			    	5		
#define wLength_l			    	6	
#define wLength_h			    	7	

// USB命令
#define GET_STATUS			  		0
#define CLEAR_FEATURE		  		1
#define SET_FEATURE			  		3
#define SET_ADDRESS			  		5
#define GET_DESCRIPTOR	  			6
#define SET_DESCRIPTOR	  			7
#define GET_CONFIGURATION	 		8
#define SET_CONFIGURATION  			9
#define GET_INTERFACE		  		10
#define SET_INTERFACE		  		11
#define SYNCH_FRAME			  		12

#define DEVICE				    	1
#define CONFIGURATION	    		2
#define STRING				    	3
#define INTERFACE			    	4
#define ENDPOINT			    	5
#define	DEVICE_QUALIFIER			6
#define OTHER_SPEED_CONFIGURATION	7
#define INTERFACE_POWER				8

#define PHY1IN			      		0
#define PHY1OUT			      		1
#define	PHY2				      	2
#define	PHY3				      	3
#define PHY4				      	4
#define	PHY5				      	5
#define PHY6				      	6

#define EndPt0				    	0
#define EndPt1				    	1
#define	EndPt2				    	2
#define EndPt3				    	3
#define EndPt4				    	4						
#define EndPt5				    	5						
#define EndPt6				    	6

#define Config0			    		0						
#define Config1				    	1

#define ON_LED					    b_BIT0
#define SUSPEND_LED			   		b_BIT1
#define ERROR_LED				    b_BIT3


// Recipient for bmRequest byte 
#define bm_DEVICE			      	0
#define bm_INTERFACE		      	1
#define bm_ENDPOINT		      		2
#define bm_OTHER			      	3

// Feature Selector Table
#define DEVICE_REMOTE_WAKEUP  		1
#define ENDPOINT_HALT			    0
#define TEST_MODE			      	2


// Generate enumeration
#define SUCCESS				      	1
#define FAIL				        0

#define	STALL	    15	// defined in UEPCSR0
#define SNAK	    14	// Send NACK
#define TFRC	    13
#define USBTCIE   12
#define CTERR	    11	// Continous transfer error
#define SPKT	    15	// Short Packet
#define SPKTIE  	14	// short packet interrupt
#define TFRERR    13	// Transfer Error

/*文件描述	: 类型定义,和一些实用的宏测试*/
typedef		unsigned char	UINT8;
typedef		unsigned int	UINT16;
typedef		unsigned long	muint32;
typedef		char			INT8;
typedef		int				INT16;
typedef		long			int32;
typedef		unsigned char	BOOL;
typedef		unsigned char	MSErrorCode;

#define		TRUE			1
#define		FALSE			0

#define	b_BIT7		7
#define	b_BIT6		6
#define	b_BIT5		5
#define	b_BIT4		4
#define	b_BIT3		3
#define	b_BIT2		2
#define	b_BIT1		1
#define	b_BIT0		0
#define DEBUG
/* 清位和置位 */
#define	mSetBit(b1,var)				      (var |= (1<<b1))
#define	mSet2Bit(b1,b2,var)			  	(var |= (1<<b1)+(1<<b2))
#define	mSet3Bit(b1,b2,b3,var)			(var |= (1<<b1)+(1<<b2)+(1<<b3))
#define	mClearBit(b1,var)			      (var &= ~(1<<b1))
#define	mClear2Bit(b1,b2,var)		  	(var &= ~((1<<b1)+(1<<b2)))
#define	mClear3Bit(b1,b2,b3,var)		(var &= ~((1<<b1)+(1<<b2)+(1<<b3)))
#define	mWriteClearBit(bit,var) 		(var |= (1<<bit))
#define	mXor1Bit(b1,var)			      (var ^= (1<<b1))
/* 对位状态的检测*/
#define	mCheckBit(bit, var)		  	(var & (1<<bit))

#define IQUECR_IQUEEN_MASK              1
#define IQUECR_IQUERST_MASK             2
#define IQUECR_QC12DBE_MASK             8
#define IQUECR_QC34DBE_MASK             16

#endif	_H_USBMS_INCLUDES_

⌨️ 快捷键说明

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