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 //通知中断结束