CH852 USB端口 不能发送

例程里面在中断里面收到数据会调用

void DevEP3_OUT_Deal(uint8_t l)

{ /* 用户可自定义 */

    uint8_t i;


    for(i = 0; i < l; i++)

    {

      pEP3_IN_DataBuf[i] =~pEP3_OUT_DataBuf[i];

    }

    DevEP3_IN_Deal(l);

}

这个函数,将收到的数据取反从新发送出去;

我在中断外,发送数据


send(uchar l)

{

 

for(i = 0; i < l; i++)

    {

      pEP3_IN_DataBuf[i] =dat[i];

    }

    DevEP3_IN_Deal(l);

}

就无法发送,也就是将要发送的数据存入缓冲区后 调用DevEP3_IN_Deal(l);发送数据只能在中断里面有效。这是设么原因?

还有一个问题,就是端点上传只能发送一个字节,超过一个字节就报错

image.png



检查一下是否有调用了send函数。

超过一个字节报错,需要看下端点描述符是配置的几个字节,如果只配置为1个字节,那就只能发送1个字节了。因此可以配置为多个字节再测试。



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