CH549虚拟3个设配的问题?

目前我用的官方DEMO:

* File Name          : CompositeKM.C

* Author             : WCH

* Version            : V1.0

* Date               : 2018/08/15

我虚拟键盘鼠标,由于是虚拟出来的设配最终是要向windows移动鼠标键盘的。所以我开发了windows由于USB通信的代码。

现在的问题是:

    我windows同过writefile写数据到USB后,我能收到:case UIS_TOKEN_OUT | 3:   但我写的代码却收不到收据:

目前,我在DEMO的基础上虚拟出第3个设配来与windows通信了。

收数据的缓冲我是这样写的:

UINT8X  Ep3Buffer[MIN(64,ENDP3_IN_SIZE+2)+MIN(64,ENDP3_OUT_SIZE+2)] _at_ (MIN(64,THIS_ENDP0_SIZE+2)+MIN(64,ENDP1_IN_SIZE+2)+MIN(64,ENDP2_IN_SIZE+2));


初始化时这样写的:

void USBDeviceInit()

。。。

    UEP3_DMA = Ep3Buffer;                                                      

    UEP2_3_MOD = UEP2_3_MOD & ~bUEP3_BUF_MOD | bUEP3_TX_EN;            

。。。



在DeviceInterrupt过程中能收到回调:

。。。

        case UIS_TOKEN_OUT | 3:

  UEP3_CTRL ^= bUEP_R_TOG;    //手动翻转同步标志位

            //if ( U_TOG_OK )                                                     // 不同步的数据包将丢弃

            {

        len = USB_RX_LEN;                                               //接收数据长度,数据从Ep2Buffer首地址开始存放

                DevEP3_OUT_Deal( len );   这里面打印出来的Ep3Buffer   数据不对。

            }


。。。。。。



我的问题是:


我如何才能收到windows那边传过来的数据。Ep3Buffer设计不对还是初始化那里不对。我用573是可以完全交互的。

        

个人信息保护,已隐藏

参考一下venderdevice例程的端点2收发,电脑上可以尝试用bushound对端点进行数据收发


OK ,已经解决。


只有登录才能回复,可以选择微信账号登录