CH375用作HOST,连HID类的设备,条码扫描枪,利用论坛提供的例程,基本上实现了功能。 现在有几个问题: 1)例程中设定CH375工作在低速模式,用的是 CH375_WR_CMD_PORT(0x0b); /* 切换使375B进入低速模式 */ CH375_WR_DAT_PORT(0x17); CH375_WR_DAT_PORT(0xd8); 是不是只针对CH375B,我用CH375A是该命令总是失败。看到CH375数据手册版本3D上有一条SET_USB_SPEED命令,试了一下,可以 CH375_WR_CMD_PORT(0x04); /* 切换使375B进入低速模式 */ CH375_WR_DAT_PORT(0x01); 不知该命令对那些版本的CH375有效。
2)设备有一个中断In端点用来传输数据。我发现例程中,在完成设备的枚举和设置之后,发送In令牌启动了中断传输,以后单片机在收到CH375读取数据成功的中断后,再发送IN令牌获取下一次的数据。我的问题是: 中断传输应该是USB Host以一定的速度发送In令牌读取数据,CH375的手册上也说明支持中断传输,可是In令牌发送的频率是怎么决定的?按理说端点描述符中有相关的说明,可CH375是怎么知道这个频率的?好像没有针对这个设置CH375的命令。CH375怎么知道In令牌是发送到中断端点还是批量端点,也就是说CH375怎么知道单片机设置的IN令牌是要进行中断传输呢?USB刚接触,还望高手不吝赐教。