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

📄 usbhal.h

📁 smp860运动控制器USB驱动,对从事数控技术开发人员非常有用
💻 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 + -