Przeglądaj źródła

fix(port/ch32): add EPn_SET_TX_LEN for mps

Signed-off-by: sakumisu <1203593632@qq.com>
sakumisu 10 miesięcy temu
rodzic
commit
db0f5475b4
1 zmienionych plików z 1 dodań i 0 usunięć
  1. 1 0
      port/ch32/usb_ch58x_dc_usbfs.c

+ 1 - 0
port/ch32/usb_ch58x_dc_usbfs.c

@@ -531,6 +531,7 @@ USBD_IRQHandler(void)
                             usb_dc_cfg.ep_in[epid].actual_xfer_len += usb_dc_cfg.ep_in[epid].mps;
                             usb_dc_cfg.ep_in[epid].actual_xfer_len += usb_dc_cfg.ep_in[epid].mps;
                             if (usb_dc_cfg.ep_in[epid].xfer_len > usb_dc_cfg.ep_in[epid].mps) {
                             if (usb_dc_cfg.ep_in[epid].xfer_len > usb_dc_cfg.ep_in[epid].mps) {
                                 memcpy(usb_dc_cfg.ep_in[epid].ep_ram_addr, usb_dc_cfg.ep_in[epid].xfer_buf, usb_dc_cfg.ep_in[epid].mps);
                                 memcpy(usb_dc_cfg.ep_in[epid].ep_ram_addr, usb_dc_cfg.ep_in[epid].xfer_buf, usb_dc_cfg.ep_in[epid].mps);
+                                EPn_SET_TX_LEN(epid, usb_dc_cfg.ep_in[epid].mps);
                             } else {
                             } else {
                                 memcpy(usb_dc_cfg.ep_in[epid].ep_ram_addr, usb_dc_cfg.ep_in[epid].xfer_buf, usb_dc_cfg.ep_in[epid].xfer_len);
                                 memcpy(usb_dc_cfg.ep_in[epid].ep_ram_addr, usb_dc_cfg.ep_in[epid].xfer_buf, usb_dc_cfg.ep_in[epid].xfer_len);
                                 EPn_SET_TX_LEN(epid, usb_dc_cfg.ep_in[epid].xfer_len);
                                 EPn_SET_TX_LEN(epid, usb_dc_cfg.ep_in[epid].xfer_len);