我做的是单片机+CH375做主机,然后连接了一个U盘做设备,我按照以下步骤做的枚举: (1)首先设置模式6,做完这步返回了15H, (2)检测到设备连接之后在设置模式7,延时10MS,在设置模式6,然后在获取设备描述符, 可是做完第二步却返回了2A, 我想请问下问题是出在哪啊?
2步骤之后模式6之后还需要检测下设备连接,然后在延时100MS以上在获取设备描述符
我又改了下,不过还是返回2A,这是我编的main函数: main( ) { unsigned char status; delay100ms( );/*延时100ms*/ delay100ms( ); CH375_PORT_INIT( );/*CH375初始化*/ USART_Init( );/*串口初始化,为了让计算机通过串口调试助手来查看程序运行状态*/ set_usb_mode(6); while ( wait_interrupt()!=USB_INT_CONNECT ); #define USB_RESET_FIRST 1 #ifdef USB_RESET_FIRST set_usb_mode( 7 ); delay5ms( ); delay5ms( ); set_usb_mode( 6 ); delay100ms( ); while ( wait_interrupt()!=USB_INT_CONNECT ); #endif
delay100ms( );/*延时100ms*/ delay100ms( );
status=get_descr(1); /* 获取设备描述符,我把初始化打印机程序分步骤运行了,先运行的获取设备描述符语句 */ USART_Transmit(status);/*把运行后的状态通过串口发给计算机,显示在串口调试助手上*/
} 我插上U盘做的实验,还是返回2A,不知道是怎么回事?
延时是否足够? USB线上接电阻之类的器件了没有?不需要接 检查USB线是否接反了。