📄 usb_includes.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 + -