usbhal.h

来自「smp860运动控制器USB驱动,对从事数控技术开发人员非常有用」· C头文件 代码 · 共 66 行

H
66
字号
/************************************************************************
 *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 + =
减小字号Ctrl + -
显示快捷键?