/* param base ASRC base pointer param handle ASRC handle pointer. param inCallback Pointer to the user callback function. param outCallback Pointer to the user callback function. param userData User parameter passed to the callback function  */
void ASRC_TransferCreateHandle(ASRC_Type *base, asrc_handle_t *handle, asrc_channel_pair_t channelPair, asrc_transfer_callback_t inCallback, asrc_transfer_callback_t outCallback, void *userData)
/* param base ASRC base pointer param handle ASRC handle pointer. param inCallback Pointer to the user callback function. param outCallback Pointer to the user callback function. param userData User parameter passed to the callback function  */
void ASRC_TransferCreateHandle(ASRC_Type *base, asrc_handle_t *handle, asrc_channel_pair_t channelPair, asrc_transfer_callback_t inCallback, asrc_transfer_callback_t outCallback, void *userData)
{
    assert(handle != NULL);
    uint32_t instance = ASRC_GetInstance(base);
    (void)memset(handle, 0, sizeof(*handle));
    s_asrcHandle[instance][channelPair] = handle;
    handle->in.callback  = inCallback;
    handle->out.callback = outCallback;
    handle->userData     = userData;
    handle->channelPair  = channelPair;
    s_asrcIsr = ASRC_TransferHandleIRQ;
    (void)EnableIRQ(s_asrcIRQ[instance]);
}