unsigned char mReadCH375Data( unsigned char *buf ) { unsigned char len, i; unsigned char *p; CH375_WR_CMD_PORT( CMD_RD_USB_DATA); /* 从CH375的端点缓冲区读取数据块 */ p = buf; len = CH375_RD_DAT_PORT( ); /* 数据长度 */ for ( i=0; i return( len ); } 这样读出来的结果都是18,长度是18,数据也是18.初始化成功返回0x51
你使用我们CH375做什么应用?使用其他命令是否有问题? CH375之前的初始化操作是否正确完成,只有设置模式才返回0x51,其他操作成功返回0x00。
目前其它指令正常。只有这个指令有问题。而且执行了这个指令后就进不去中断了
问题是这样的,我使用unsigned char mReadCH375Data( unsigned char *buf )来读取数据,它的上一步是 void mCtrlGetDescr( unsigned char type ) { mIntStatus = 0; /* 清中断状态 */ CH375_WR_CMD_PORT( CMD_GET_DESCR ); /* 控制传输-获取描述符 */ CH375_WR_DAT_PORT( type ); /* 1:设备描述符, 2:配置描述符 */ while ( mIntStatus == 0 ); /* 等待操作完成 */ } 也就是我想通过CMD_RD_USB_DATA读取出描述符,可是启用这个以后,INT信号就一直是高电平了,不再出现中断。我发现就是我读出来的len为18,而数据量也是18.而且是取不禁的。。。。我一直读。。它一直是18= =