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

📄 usb.h

📁 利用psoc进行usb及capsense的程序编写
💻 H
字号:
//*****************************************************************************
//*****************************************************************************
//  FILENAME: USB.h
//   Version: 1.0, Updated on 2005/04/20 at 22:16:14
//  Generated by PSoC Designer ver 4.2  b1013 : 02 September, 2004
//
//  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 USB API.
//-------------------------------------------------

//-------------------------------------------------
// fastcall16 qualifiers for the USB API.
//-------------------------------------------------
#pragma fastcall16 USB_Start
#pragma fastcall16 USB_Stop
#pragma fastcall16 USB_bCheckActivity
#pragma fastcall16 USB_bGetConfiguration
#pragma fastcall16 USB_bGetEPState
#pragma fastcall16 USB_wGetEPCount
#pragma fastcall16 USB_LoadInEP
#pragma fastcall16 USB_bReadOutEP
#pragma fastcall16 USB_EnableOutEP
#pragma fastcall16 USB_DisableOutEP
#pragma fastcall16 USB_Force
#pragma fastcall16 USB_bGetEPAckState

//-------------------------------------------------
// fastcall16 qualifiers for the HID Class API.
//-------------------------------------------------
#pragma fastcall16 USB_UpdateHIDTimer
#pragma fastcall16 USB_bGetProtocol

//-------------------------------------------------
// Prototypes of the USB API.
//-------------------------------------------------
extern void USB_Start(BYTE bDevice, BYTE bMode);
extern void USB_Stop(void);
extern BYTE USB_bCheckActivity(void);
extern BYTE USB_bGetConfiguration(void);
extern BYTE USB_bGetEPState(BYTE bEPNumber);
extern WORD USB_wGetEPCount(BYTE bEPNumber);
extern void USB_LoadInEP(BYTE bEPNumber, BYTE * pData, WORD wLength, BYTE bToggle);
extern BYTE USB_bReadOutEP(BYTE bEPNumber, BYTE * pData, WORD wLength);
extern void USB_EnableOutEP(BYTE bEPNumber);
extern void USB_DisableOutEP(BYTE bEPNumber);
extern void USB_Force(BYTE bState);
extern BYTE USB_bGetEPAckState(BYTE bEPNumber);

//-------------------------------------------------
// HID Class Prototypes of the USB API.
//-------------------------------------------------
extern BYTE USB_UpdateHIDTimer(BYTE bInterface);
extern BYTE USB_bGetProtocol(BYTE bInterface);

//-------------------------------------------------
// Constants for USB 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

//--------------------------------------------------
// Constants for interrupt regs and masks
//--------------------------------------------------
#pragma ioport USB_INT_REG: 0x0DF
BYTE           USB_INT_REG;			
#define USB_INT_RESET_MASK 0x01
#define USB_INT_SOF_MASK   0x02
#define USB_INT_EP0_MASK   0x04
#define USB_INT_EP1_MASK   0x08
#define USB_INT_EP2_MASK   0x10
#define USB_INT_EP3_MASK   0x20
#define USB_INT_EP4_MASK   0x40
#define USB_INT_WAKUP_MASK 0x80

#pragma ioport USB_ADDR:                     0x04a
BYTE           USB_ADDR;
#pragma ioport USB_USBIO_CR0:                0x04b
BYTE           USB_USBIO_CR0;
#pragma ioport USB_USBIO_CR1:                0x04c
BYTE           USB_USBIO_CR1;
#pragma ioport USB_USB_CR1:                  0x0c1
BYTE           USB_USB_CR1;
#pragma ioport USB_EP0MODE:                  0x056
BYTE           USB_EP0MODE;
#pragma ioport USB_EP0CNT:                   0x057
BYTE           USB_EP0CNT;
#pragma ioport USB_EP0DATA:                  0x058
BYTE           USB_EP0DATA;
#pragma ioport USB_EP1MODE:                  0x1c4
BYTE           USB_EP1MODE;
#pragma ioport USB_EP1CNT1:                  0x04e
BYTE           USB_EP1CNT1;
#pragma ioport USB_EP1CNT0:                  0x04f
BYTE           USB_EP1CNT0;
#pragma ioport USB_EP2MODE:                  0x1c5
BYTE           USB_EP2MODE;
#pragma ioport USB_EP2CNT1:                  0x050
BYTE           USB_EP2CNT1;
#pragma ioport USB_EP2CNT0:                  0x051
BYTE           USB_EP2CNT0;
#pragma ioport USB_EP3MODE:                  0x1c6
BYTE           USB_EP3MODE;
#pragma ioport USB_EP3CNT1:                  0x052
BYTE           USB_EP3CNT1;
#pragma ioport USB_EP3CNT0:                  0x053
BYTE           USB_EP3CNT0;
#pragma ioport USB_EP4MODE:                  0x1c7
BYTE           USB_EP4MODE;
#pragma ioport USB_EP4CNT1:                  0x054
BYTE           USB_EP4CNT1;
#pragma ioport USB_EP4CNT0:                  0x055
BYTE           USB_EP4CNT0;
 
// end of file USB.h

⌨️ 快捷键说明

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