📄 usbhal.h
字号:
/************************************************************************
*File : Usbhal.h *
*By : hugang, hgx2000@mail.china.com *
************************************************************************/
#ifndef __USBHAL_H__
#define __USBHAL_H__
#define D12_COMMAND 1
#define D12_DATA 0
/**************************************************************************/
/* macro */
/**************************************************************************/
#define MSB(x) (((x) >> 8) & 0xFF)
#define LSB(x) ((x) & 0xFF)
#ifdef USB_INT
#define USB_DISABLE_INTERRUPT rINTMSK = rINTMSK | BIT_EINT0
#define USB_ENABLE_INTERRUPT rINTMSK = rINTMSK & (~BIT_EINT0)
#else
#define USB_DISABLE_INTERRUPT
#define USB_ENABLE_INTERRUPT
#endif
#define USB_D12_FULLEMPTY 0x01
#define USB_D12_SUSPEND rPDATG |= (1<<5)
#define USB_D12_ACTIVE rPDATG &= (~(1<<5))
#define USB_D12_CMDPROT (*(volatile unsigned char *)0x4000001)
#define USB_D12_DATAPROT (*(volatile unsigned char *)0x4000000)
typedef union _ARMBOARD_FLAGS
{
struct _FLAGS
{
unsigned bTimer : 1;
unsigned bBus_Reset : 1;
unsigned bSuspend : 1;
unsigned bSetup_Packet : 1;
unsigned bRemote_Wakeup : 1;
unsigned bIn_ISR : 1;
unsigned bControl_State : 2;
unsigned bConfiguration : 1;
unsigned bVerbose : 1;
unsigned bCommand : 1;
unsigned bEP1_RxDone : 1;
unsigned bEP2_RxDone : 1;
unsigned bEP1Buf_Full : 1;
unsigned bEP2Buf_Full : 1;
unsigned bDMA_State : 2;
unsigned bSetup_DMA : 1;
unsigned bLED : 2; // Used for LED
unsigned bRead : 1; // TRUE = Read, FALSE = Write. Now this bit is not used, just reserved for future usage.
} bits;
unsigned short nValue;
} ARMUSBFLAGS;
void outportb_D12(unsigned char port, unsigned char val);
unsigned char inportb_D12(unsigned char port);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -