浏览代码

Merge pull request #134 from aitap/ep_write_0_0_doc

Document the usbd_ep_write(dev, ep, 0, 0) trick
Dmitry Filimonchuk 2 年之前
父节点
当前提交
eeef6f7194
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      inc/usbd_core.h

+ 5 - 0
inc/usbd_core.h

@@ -269,6 +269,11 @@ typedef int32_t (*usbd_hw_ep_read)(uint8_t ep, void *buf, uint16_t blen);
  * \param buf pointer to data buffer
  * \param blen size of data will be written
  * \return number of written bytes
+ *
+ * The \ref usbd_evt_eptx event will fire for the endpoint once the
+ * write is \e complete. A trick commonly used is to enqueue a zero-length
+ * write as soon as the endpoint is configured, so that it would
+ * "complete", firing an event, the next time an IN request arrives.
  */
 typedef int32_t (*usbd_hw_ep_write)(uint8_t ep, const void *buf, uint16_t blen);