ソースを参照

#135 add sequental TX data and variable packet length

Dmitry Filimonchuk 2 年 前
コミット
a79c8b5243
1 ファイル変更5 行追加2 行削除
  1. 5 2
      demo/cdc_loop.c

+ 5 - 2
demo/cdc_loop.c

@@ -359,8 +359,11 @@ static void cdc_rxonly (usbd_device *dev, uint8_t event, uint8_t ep) {
 
 static void cdc_txonly(usbd_device *dev, uint8_t event, uint8_t ep) {
     uint8_t _t = dev->driver->frame_no();
-    memset(fifo, _t, CDC_DATA_SZ);
-    usbd_ep_write(dev, ep, fifo, CDC_DATA_SZ);
+    if (_t > CDC_DATA_SZ) _t = CDC_DATA_SZ;
+    for (size_t i = 0; i < _t; ++i) {
+        fifo[i] = fpos++;
+    }
+    usbd_ep_write(dev, ep, fifo, _t);
 }
 
 static void cdc_rxtx(usbd_device *dev, uint8_t event, uint8_t ep) {