freertos dmac loop_async, how to use?



    • @brief DMA loop asynchronously
    • @param[in] file The DMA handle
    • @param[in] srcs The addresses of source
    • @param[in] src_num The source addresses count
    • @param[out] dests The addresses of destination
    • @param[in] dest_num The destination addresses count
    • @param[in] src_inc Enable increment of source address
    • @param[in] dest_inc Enable increment of destination address
    • @param[in] element_size Element size in bytes
    • @param[in] count Element count to transmit in one loop
    • @param[in] burst_size Element count to transmit per request
    • @param[in] stage_completion_handler The handler function when on loop is completed
    • @param[in] stage_completion_handler_data The userdata of the handler function
    • @param[in] completion_event Event to signal when this transmition is completed
    • @param[in] stop_signal The address of signal indicating whether to stop the transmition, set to 1 to stop
      */
      void dma_loop_async(handle_t file, const volatile void **srcs, size_t src_num, volatile void **dests, size_t dest_num, bool src_inc, bool dest_inc, size_t element_size, size_t count, size_t burst_size, dma_stage_completion_handler_t stage_completion_handler, void *stage_completion_handler_data, SemaphoreHandle_t completion_event, int *stop_signal);

    How do i use this function to continously read data from UART and save in a buffer?