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

📄 usbfs_1.h

📁 cypresscy74294ic键盘和鼠标原码
💻 H
字号:
//*****************************************************************************
//*****************************************************************************
//  FILENAME: USBFS_1.h
//   Version: 1.1, Updated on 2006/06/19 at 11:41:37
//  Generated by PSoC Designer ver 4.4  b1884 : 14 Jan, 2007
//
//  DESCRIPTION: USB User Module C Language interface file
//               for the CY8C24090 family of devices
//-----------------------------------------------------------------------------
//  Copyright (c) Cypress Semiconductor 2005. All Rights Reserved.
//*****************************************************************************
//*****************************************************************************

#include <m8c.h>

//-------------------------------------------------
// USB Device type support for the USBFS_1 API.
//-------------------------------------------------

//-------------------------------------------------
// fastcall16 qualifiers for the USBFS_1 API.
//-------------------------------------------------
#pragma fastcall16 USBFS_1_Start
#pragma fastcall16 USBFS_1_Stop
#pragma fastcall16 USBFS_1_bCheckActivity
#pragma fastcall16 USBFS_1_bGetConfiguration
#pragma fastcall16 USBFS_1_bGetEPState
#pragma fastcall16 USBFS_1_wGetEPCount
#pragma fastcall16 USBFS_1_LoadInEP
#pragma fastcall16 USBFS_1_LoadInISOCEP
#pragma fastcall16 USBFS_1_bReadOutEP
#pragma fastcall16 USBFS_1_EnableOutISOCEP
#pragma fastcall16 USBFS_1_EnableOutEP
#pragma fastcall16 USBFS_1_DisableOutEP
#pragma fastcall16 USBFS_1_Force
#pragma fastcall16 USBFS_1_bGetEPAckState

//-------------------------------------------------
// fastcall16 qualifiers for the HID Class API.
//-------------------------------------------------
#pragma fastcall16 USBFS_1_UpdateHIDTimer
#pragma fastcall16 USBFS_1_bGetProtocol

//-------------------------------------------------
// Prototypes of the USBFS_1 API.
//-------------------------------------------------
extern void USBFS_1_Start(BYTE bDevice, BYTE bMode);
extern void USBFS_1_Stop(void);
extern BYTE USBFS_1_bCheckActivity(void);
extern BYTE USBFS_1_bGetConfiguration(void);
extern BYTE USBFS_1_bGetEPState(BYTE bEPNumber);
extern WORD USBFS_1_wGetEPCount(BYTE bEPNumber);
extern void USBFS_1_LoadInEP(BYTE bEPNumber, BYTE * pData, WORD wLength, BYTE bToggle);
extern void USBFS_1_LoadInISOCEP(BYTE bEPNumber, BYTE * pData, WORD wLength, BYTE bToggle);
extern BYTE USBFS_1_bReadOutEP(BYTE bEPNumber, BYTE * pData, WORD wLength);
extern void USBFS_1_EnableOutEP(BYTE bEPNumber);
extern void USBFS_1_EnableOutISOCEP(BYTE bEPNumber);
extern void USBFS_1_DisableOutEP(BYTE bEPNumber);
extern void USBFS_1_Force(BYTE bState);
extern BYTE USBFS_1_bGetEPAckState(BYTE bEPNumber);

//-------------------------------------------------
// HID Class Prototypes of the USBFS_1 API.
//-------------------------------------------------
extern BYTE USBFS_1_UpdateHIDTimer(BYTE bInterface);
extern BYTE USBFS_1_bGetProtocol(BYTE bInterface);

//-------------------------------------------------
// Constants for USBFS_1 API's.
//-------------------------------------------------
#define NO_EVENT_ALLOWED               2
#define EVENT_PENDING                  1
#define NO_EVENT_PENDING               0

#define IN_BUFFER_FULL                 NO_EVENT_PENDING
#define IN_BUFFER_EMPTY                EVENT_PENDING
#define OUT_BUFFER_FULL                EVENT_PENDING
#define OUT_BUFFER_EMPTY               NO_EVENT_PENDING

#define USB_NO_TOGGLE                  0x00
#define USB_TOGGLE                     0x01

#define USB_FORCE_J                    0xA0
#define USB_FORCE_K                    0x80
#define USB_FORCE_SE0                  0xC0
#define USB_FORCE_NONE                 0x00

#define USB_IDLE_TIMER_RUNNING         0x02
#define USB_IDLE_TIMER_EXPIRED         0x01
#define USB_IDLE_TIMER_INDEFINITE      0x00

#define USB_3V_OPERATION               0x02
#define USB_5V_OPERATION               0x03

#define USB_MODE_DISABLE               0x00
#define	USB_MODE_NAK_IN_OUT            0x01
#define	USB_MODE_STATUS_OUT_ONLY       0x02
#define	USB_MODE_STALL_IN_OUT          0x03
#define	USB_MODE_RESERVED_0100         0x04
#define	USB_MODE_ISO_OUT               0x05
#define	USB_MODE_STATUS_IN_ONLY        0x06
#define	USB_MODE_ISO_IN                0x07
#define	USB_MODE_NAK_OUT               0x08
#define	USB_MODE_ACK_OUT               0x09
#define	USB_MODE_RESERVED_1010         0x0A
#define	USB_MODE_ACK_OUT_STATUS_IN     0x0B
#define	USB_MODE_NAK_IN                0x0C
#define	USB_MODE_ACK_IN                0x0D
#define	USB_MODE_RESERVED_1110         0x0E
#define	USB_MODE_ACK_IN_STATUS_OUT     0x0F
#define	USB_MODE_STALL_DATA_EP         0x80

//-----------------------------------------------
// Transfer Completion Notification
//-----------------------------------------------
#define USB_XFER_IDLE                       0x00
#define USB_XFER_STATUS_ACK                 0x01
#define USB_XFER_PREMATURE                  0x02
#define USB_XFER_ERROR                      0x03

typedef struct {
    BYTE bStatus;
    WORD wLength;  
} T_USB_XFER_STATUS_BLOCK;


//--------------------------------------------------
// Constants for interrupt regs and masks
//--------------------------------------------------
#pragma ioport USBFS_1_INT_REG: 0x0DF
BYTE           USBFS_1_INT_REG;			
#define USBFS_1_INT_RESET_MASK 0x01
#define USBFS_1_INT_SOF_MASK   0x02
#define USBFS_1_INT_EP0_MASK   0x04
#define USBFS_1_INT_EP1_MASK   0x08
#define USBFS_1_INT_EP2_MASK   0x10
#define USBFS_1_INT_EP3_MASK   0x20
#define USBFS_1_INT_EP4_MASK   0x40
#define USBFS_1_INT_WAKEUP_MASK 0x80

#pragma ioport USBFS_1_ADDR:                 0x04a
BYTE           USBFS_1_ADDR;
#pragma ioport USBFS_1_USBIO_CR0:            0x04b
BYTE           USBFS_1_USBIO_CR0;
#pragma ioport USBFS_1_USBIO_CR1:            0x04c
BYTE           USBFS_1_USBIO_CR1;
#pragma ioport USBFS_1_USB_CR1:              0x1c1
BYTE           USBFS_1_USB_CR1;
#pragma ioport USBFS_1_EP0MODE:              0x056
BYTE           USBFS_1_EP0MODE;
#pragma ioport USBFS_1_EP0CNT:               0x057
BYTE           USBFS_1_EP0CNT;
#pragma ioport USBFS_1_EP0DATA:              0x058
BYTE           USBFS_1_EP0DATA;
#pragma ioport USBFS_1_EP1MODE:              0x1c4
BYTE           USBFS_1_EP1MODE;
#pragma ioport USBFS_1_EP1CNT1:              0x04e
BYTE           USBFS_1_EP1CNT1;
#pragma ioport USBFS_1_EP1CNT0:              0x04f
BYTE           USBFS_1_EP1CNT0;
#pragma ioport USBFS_1_EP2MODE:              0x1c5
BYTE           USBFS_1_EP2MODE;
#pragma ioport USBFS_1_EP2CNT1:              0x050
BYTE           USBFS_1_EP2CNT1;
#pragma ioport USBFS_1_EP2CNT0:              0x051
BYTE           USBFS_1_EP2CNT0;
#pragma ioport USBFS_1_EP3MODE:              0x1c6
BYTE           USBFS_1_EP3MODE;
#pragma ioport USBFS_1_EP3CNT1:              0x052
BYTE           USBFS_1_EP3CNT1;
#pragma ioport USBFS_1_EP3CNT0:              0x053
BYTE           USBFS_1_EP3CNT0;
#pragma ioport USBFS_1_EP4MODE:              0x1c7
BYTE           USBFS_1_EP4MODE;
#pragma ioport USBFS_1_EP4CNT1:              0x054
BYTE           USBFS_1_EP4CNT1;
#pragma ioport USBFS_1_EP4CNT0:              0x055
BYTE           USBFS_1_EP4CNT0;
 
// end of file USBFS_1.h

⌨️ 快捷键说明

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