bNumEndpoints改为0x02时枚举不通过

[复制链接]
2577|1
 楼主| graycker 发表于 2014-3-17 11:24 | 显示全部楼层 |阅读模式
用的是c8051f321单片机,USB初始化使用的是系统默认的配置
void USB0_Init (void)
{
        POLL_WRITE_BYTE (POWER, 0x08);      // Force Asynchronous USB Reset
        POLL_WRITE_BYTE (IN1IE, 0x07);      // Enable Endpoint 0-1 in interrupts
        POLL_WRITE_BYTE (OUT1IE,0x07);      // Enable Endpoint 0-1 out interrupts
        POLL_WRITE_BYTE (CMIE, 0x07);       // Enable Reset, Resume, and Suspend        interrupts
        USB0XCN = 0xE0;                     // Enable transceiver; select full speed
        POLL_WRITE_BYTE (CLKREC,0x80);      // Enable clock recovery, single-step mode disabled
        EIE1 |= 0x02;                       // Enable USB0 Interrupts                                       
        POLL_WRITE_BYTE (POWER, 0x01);      // Inhibit Bit and enable suspend detection        // Enable USB0 by clearing the USB
}
当bNumEndpoints为1的时候枚举正常,系统正常运行,但是调试上位机的时候出现了问题,然后我想把bNumEndpoints改为2试下的时候,枚举通过不了,(甚至电脑usb一度用不了)获取配置描述符的时候第二个端点描述符不能获取,然后停留在那里,哪位大神帮我分析下
 楼主| graycker 发表于 2014-3-17 11:25 | 显示全部楼层
不知道给分有什么用,就给了个0,结果显示此贴已结。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

158

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部