手记 .C该文件主要是USB 基础传输协议的实现,在它之下是链路层,的读写访问数据的传送,在它之上是应用协议层,譬如S 协议等。该文件起到了很好的承上启下的作用,这里面主要运用到的是setup 传输。首先通过枚举,知道设备的类型和设备所具有的特定信息,包括生产厂家,设备型号,传输端点,端点类型,端点容量等等,这都是后续工作所必需的基本信息。#include "usb.h"#include "ISP1761.h"#include "mer.h"#include "usb.inc"/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* 函数名称 : DeviceEnum* 输入参数 : 无* 输出参数 : FAIL 失败* SUCCESS 成功* 功能说明 : 设备枚举,这是进行usb 传输的第一步*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/int DeviceEnum( void ){unsigned int i, j, k;unsigned char usCfgDescript[64], usDescriptor[64];/*声明描叙符buffer*/unsigned char portstatus[4]; /*声明状态变量*/evDesc sDev; /*设备描述符*/sCfgDesc sCfg; /*配置描述符*/sInDesc sIfc; /*描述符*/sEPDesc sEnp[4]; /*端点描述符*/i = 0;j = 0;Deeset:if( j++ == 10 )return FAIL;Hubdr = 0;USBSPEED = HIGHSPEED;