📄 drv_usb_hwif.h
字号:
/************************************************* Copyright (C), 2007, DTK Computer. File name: drv_usb_hwif.h Author: MMI Group Version: 1.0 Date: 2008.04.30 Description: usb module for hardware interface Others: Function List: History: <author> <time> <version > <desc> Bosco Lee 08/30/04 1.0 build this moudle *************************************************/ #ifndef __DRV_USB_HWIF_H__#define __DRV_USB_HWIF_H__#include "drv_usb_main.h"#include "drv_usb_ctl.h" extern void ENABLE ();extern void DISABLE ();#define ENDPOINT_ENABLE_BIT ((D_UINT8)1<<0)#define ENDPOINT_READY_BIT ((D_UINT8)1<<1)#define ENDPOINT_SEND_STALL_BIT ((D_UINT8)1<<2)#define ENDPOINT_ISO_ENABLE_BIT ((D_UINT8)1<<3)#define ENDPOINT_TYPE ((D_UINT8)3<<4) //00: setup //01: in //10: out#define Number_OF_TRANSCATIONS ((D_UINT8)3<<6) //01: 1 //10: 2 //11: 3 #define SC_CRC_ERROR_BIT ((D_UINT8)1<<0)#define SC_PID_ERROR_BIT ((D_UINT8)1<<1)#define SC_RX_TIME_OUT_BIT ((D_UINT8)1<<2)#define SC_OVERFLOW_BIT ((D_UINT8)1<<3)#define SC_NAK_SENT_BIT ((D_UINT8)1<<4)#define SC_NYET_SENT_BIT ((D_UINT8)1<<5)#define SC_STALL_SENT_BIT ((D_UINT8)1<<6)#define SC_ACK_RXED_BIT ((D_UINT8)1<<7) #define endpoint_outdata_sequence_bit ((D_UINT8)3<<0) //00: DATA0 //01: DATA1 //10: DATA2 //11: MDATA #define TRANSACTION_TYPE ((D_UINT8)3<<0)#define SC_SETUP_TRANS 0#define SC_IN_TRANS 1#define SC_OUTDATA_TRANS 2 #define NAK_TRANSACTION_TYPE ((D_UINT8)3<<0) //SC_SETUP_TRANS = 0 //SC_IN_TRANS = 1 //SC_OUTDATA_TRANS = 2 #define SC_TRANS_DONE_BIT ((D_UINT8)1<<0)#define SC_SUSPEND_INT_BIT ((D_UINT8)1<<1)#define SC_RESUME_INT_BIT ((D_UINT8)1<<2)#define SC_RESET_EVENT_BIT ((D_UINT8)1<<3)#define SC_SOF_RECEIVED_BIT ((D_UINT8)1<<4)#define SC_NAK_SENT_INT_BIT ((D_UINT8)1<<5)#define SC_EXIT_BIT ((D_UINT8)1<<6) //ADD BY BOSCO /*----------------------寄存器定义-------------------------*/ #define ENDPOINT_CONTROL_REG 0x0#define ENDPOINT_STATUS_REG 0x1 #define ENDPOINT_SIZE_MSB_REG 0x2#define ENDPOINT_SIZE_LSB_REG 0x3#define ENDPOINT_DATA_SEQUENCE_STATUS_REG 0x4#define ENDPOINT_TRANSTYPE_STATUS_REG 0x5#define ENDPOINT_NAK_TRANSTYPE_STATUS_REG 0x6 #define SC_CONTROL_REG 0x20#define SC_SPEED_STATUS_REG 0x21#define SC_INTERRUPT_STATUS_REG 0x22#define SC_INTERRUPT_MASK_REG 0x23#define SC_ADDRESS 0x24#define SC_FRAME_NUM_MSP 0x25#define SC_FRAME_NUM_LSP 0x26#define SC_ENDPOINT_NUM_REG 0x27 #define SLAVE_CONTROL_REG 0x30#define SLAVE_VERSION_REG 0x31 #define EP_RX_FIFO_DATA 0x40#define EP_RX_FIFO_DATA_COUNT_MSB 0x42#define EP_RX_FIFO_DATA_COUNT_LSB 0x43#define EP_RX_FIFO_CONTROL_REG 0x44 #define EP_TX_FIFO_DATA 0x50#define EP_TX_FIFO_CONTROL_REG 0x54 //----------------------------------------------------- #define ep_cmd_offset 0x7#define ep_data_offset 0x20 //----------------------------------------------------- //下面的函数较少用,如需要,可将其值改为1即可 #define USB_SetMode_EN 0#define USB_SetDMA_EN 0#define USB_SendResume_EN 0#define USB_ReadCurrentFrameNumber_EN 0#define USB_ClearBuff_EN 0#define USB_ReadEndpointStatus_EN 0#define USB_AcknowledgeEndpoint_EN 0#endif /* */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -