USBD_BulkRxAsync

USBD_BulkRxAsync

Description

Receives data on bulk OUT endpoint asynchronously.

Files

usbd_core.h/usbd_core.c

Prototype

void USBD_BulkRxAsync (CPU_INT08U dev_nbr, CPU_INT08U ep_addr, void *p_buf, CPU_INT32U buf_len, USBD_ASYNC_FNCT async_fnct, void *p_async_arg, USBD_ERR *p_err);

 

Arguments

dev_nbr

Device number.

ep_addr

Endpoint address.

p_buf

Pointer to destination buffer to receive data

buf_len

Number of octets to receive.

async_fnct

Function that will be invoked upon completion of receive operation

p_async_arg

Pointer to argument that will be passed as parameter of async_fnct.

p_err

Pointer to variable that will receive the return error code from this function.

USBD_ERR_NONE

USBD_ERR_DEV_INVALID_NBR

USBD_ERR_DEV_INVALID_STATE

USBD_ERR_EP_INVALID_ADDR

USBD_ERR_EP_INVALID_STATE

USBD_ERR_EP_INVALID_TYPE

USBD_ERR_OS_TIMEOUT

USBD_ERR_OS_ABORT

USBD_ERR_OS_FAIL

Returned Value

None.

Callers

Classes.

Notes / Warnings

  1. The callback specified by async_fnct has the following prototype.

void USBD_AsyncFnct (CPU_INT08U dev_nbr, CPU_INT08U ep_addr, void *p_buf, CPU_INT32U buf_len, CPU_INT32U xfer_len, void *p_arg, USBD_ERR err);

 

Argument(s):

dev_nbr

Device number.

ep_addr

Endpoint address.

p_buf

Pointer to destination buffer to receive data.

buf_len

Buffer length.

xfer_len

Number of byte received.

p_arg

Pointer to function argument.

err

Error status.

USBD_ERR_NONE

USBD_ERR_EP_ABORT