📄 mass_usb.h
字号:
#ifndef __MASS_USB_H__
#define __MASS_USB_H__
#include "genlib.h"
// Power Managemnent Register(PWRMAN) (3F0081h)
#define PWRMAN_SUSPEND 0x01
#define PWRMAN_UC_RESUME 0x02
#define PWRMAN_USB_RESUME 0x04
#define PWRMAN_USB_RESET 0x08
// Interrupt Pending Register (INTREG) (3f0084h)
#define INTREG_EP0 0x01
#define INTREG_EP1IN 0x02
#define INTREG_EP1OUT 0x04
#define INTREG_EP2IN 0x08
#define INTREG_EP2OUT 0x10
#define INTREG_EP3IN 0x20
#define INTREG_EP3OUT 0x40
#define INTREG_RESUME 0x80
// ENDPOINT0 CSR REGISTER (EP0CSR) (3f008Ah or 3f008Bh)
#define EP0CSR_OUT_PKT_RDY 0x01
#define EP0CSR_IN_PKT_RDY 0x02
#define EP0CSR_SENT_STALL 0x04
#define EP0CSR_DATA_END 0x08
#define EP0CSR_FORCE_STALL 0x10
#define EP0CSR_SETUP_END 0x20
#define EP0CSR_CLR_OUT_PKT_RDY 0x40
#define EP0CSR_CLR_SETUP_END 0x80
// IN CONTROL STATUS REGISTER (INCSR) (3f008Ah)
#define INCSR_IN_PKT_RDY 0x01
#define INCSR_UNDER_RUN 0x02
#define INCSR_FORCE_STALL 0x04
#define INCSR_ISO 0x08
#define INCSR_INTPT_ENDP 0x10
#define INCSR_IN_PKT_RDY2 0x20
#define INCSR_FIFO_FLUSH 0x40
#define INCSR_CLR_DATA_TOGGLE 0x80
// OUT CONTROL STATUS REGISTER (OUTCSR) (3f008Bh)
#define OUTCSR_OUT_PKT_RDY 0x01
#define OUTCSR_OVERRUN 0x02
#define OUTCSR_SEND_STALL 0x04
#define OUTCSR_ISO 0x08
#define OUTCSR_FORCE_STALL 0x10
#define OUTCSR_DATA_ERR 0x20
#define OUTCSR_Reserved6 0x40
#define OUTCSR_Reserved7 0x80
// System Control Register (SYSCTRL) (3f009eh)
#ifndef SYSCTRL
#define SYSCTRL (*(volatile unsigned char *) (IO_BASE+0x009e))
#endif
#define SYSCTRL_CLK 0x01
#define SYSCTRL_SYS_RST 0x02
/////////////////////////////////////////////////////////////////////////////
#define EP0_PACKET_SIZE 16
#define EP1_PACKET_SIZE 32
#define EP2_PACKET_SIZE 64
#define EP3_PACKET_SIZE 64
#define USBMASS_EP_RECV 2 // OUT (PC -> TCC730)
#define USBMASS_EP_SEND 3 // IN (TCC730 -> PC)
#define USBMASS_RECV_PACKET_SIZE EP2_PACKET_SIZE
#define USBMASS_SEND_PACKET_SIZE EP3_PACKET_SIZE
#define USBMASS_TIMEOUT_RECV 0x7fff
#define USBMASS_TIMEOUT_SEND 0x7fff
void TCC730_USBMASS_ResetUSB (void);
int TCC730_USBMASS_ReadEP0 (void* lpBuffer);
int TCC730_USBMASS_WriteEP0 (CONST_FAKE void** lpBuffer, int nCount);
unsigned TCC730_USBMASS_ReceiveBulkUsb(int nEndPoint, void* lpBuffer, unsigned nLen);
unsigned TCC730_USBMASS_TransmitBulkUsb(int nEndPoint, CONST_FAKE void* lpBuffer, unsigned nLen);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -