www.pudn.com > USBDriver.rar > D12Config.h


/****************************************Copyright (c)************************************************** 
**                               广州周立功单片机发展有限公司 
**                                     研    究    所 
**                                        产品一部  
** 
**                                 http://www.zlgmcu.com 
** 
** 文   件   名: D12Config.h 
** 最后修改日期: 2004年7月2日 
** 描        述: PDIUSBD12 设备端驱动程序 硬件配置头文件 
** 版	     本: V1.0 
**********************************************************************************************************/ 
 
typedef unsigned char  INT8U;                   /* 无符号8位整型变量                        */ 
typedef signed   char  INT8;                    /* 有符号8位整型变量                        */ 
typedef unsigned short INT16U;                  /* 无符号16位整型变量                       */ 
typedef signed   short INT16;                   /* 有符号16位整型变量                       */ 
typedef unsigned int   INT32U;                  /* 无符号32位整型变量                       */ 
typedef signed   int   INT32;                   /* 有符号32位整型变量                       */ 
typedef float          FP32;                    /* 单精度浮点数(32位长度)                 */ 
typedef double         FP64;                    /* 双精度浮点数(64位长度)                 */ 
 
//PDIUSBD12命令与数据地址 
#define D12_COM		    (*((volatile INT8U *) 0x82000001))		//命令地址 
#define D12_DAT		    (*((volatile INT8U *) 0x82000000))		//数据地址 
#define D12_NOP			(*((volatile INT8U *) 0x80000000))		//总线空操作地址,只能读 
 
//设定 PDIUSBD12 与 LPC2200 的连线引脚 
#define USBRST_NUM   10							//USBRST 引脚连接到 LPC2200 P0 口引脚的引脚数 
#define SUSP_NUM	 13							//SUSP   引脚连接到 LPC2200 P0 口引脚的引脚数 
 
/*设定 PDIUSBD12 各端口的功能*/ 
#define USBRST_GPIO()	PINSEL0 &= ~(3 << (USBRST_NUM * 2))		//初始化USBRST为GPIO 
#define SUSP_GPIO()		PINSEL0 &= ~(3 << (SUSP_NUM * 2))		//初始化SUSP  为GPIO 
 
/*设定 PDIUSBD12 各端口的方向*/ 
#define USBRST_OUT()	IO0DIR |= (1 << USBRST_NUM)				//设定USBRST引脚为输出口 
#define SUSP_OUT()		IO0DIR |= (1 << SUSP_NUM)				//设定SUSP引脚为输出口 
 
/*置 PDIUSBD12 各端口为高电平或低电平 */ 
#define SET_USBRST()	IO0SET |= (1 << USBRST_NUM)				//置USBRST为高电平 
#define SET_SUSP()		IO0SET |= (1 << SUSP_NUM)				//置SUSP  为高电平 
	 
#define CLR_USBRST()	IO0CLR |= (1 << USBRST_NUM)				//置USBRST为低电平 
#define CLR_SUSP()		IO0CLR |= (1 << SUSP_NUM)				//置SUSP  为低电平 
 
/* 配置 PDIUSBD12 的中断引脚 */ 
#define INIT_INTD12()   PINSEL1 &= 0xFFFFFFFC;PINSEL1 |= 0x01   //初始化INT_USB为中断输入口 
#define CLR_INTD12()	EXTINT = 0x01							//清除EINT0中断标志 
#define CLR_INT()		VICVectAddr = 0x00						//通知中断结束