USB CDC通信设备正在等待主机发送的第二条命令,以发送对第一条命令的响应

时间:2019-01-23 06:19:32

标签: arm embedded usb atmel cdc

我正在使用atmel studio 7.0,我使用的代码是ATSAMD21的USB 通信设备类(CDC)。我的应用程序是从主机向设备读取命令,并执行主机建议的操作,然后从设备将确认发送回主机。

  • 我们正在写入Java USB的Java GUI,我们将使用 udi_cdc_read_buf()调用将数据接收到MCU中,并且使用确认将接收到的数据发送回JAVA主机> udi_cdc_write_buf()

  • 1。设备正在等待主机发送的第二条命令以发送对第一条命令的响应。

来自主机的第一条命令---->未收到从设备到主机的确认

来自主机的第二条命令---->主机收到了对第一条命令的确认。

来自主机的第三命令----->主机收到确认第二命令。

  • 如果我调试代码,则可以在缓冲区中看到数据“ 3434”。仅当从主机接收到其他数据时,设备才会将数据发送到主机。

代码片段

    int write_data(uint8_t *msg){
    uint8_t buffer[4]="3434";
    udi_cdc_write_buf(buffer,4);
    return (SUCCESS);
  }

--->这在USB通信中是如何发生的?我对此一无所知,将不胜感激。

0 个答案:

没有答案