参考 DMACallback
该DMACallback函数被调用以响应来自DMA管理器对于由外设DMA支持的设备的DMA事件。假设错误检查被启用,该设备句柄首先验证。然后,该函数确定已发生的事件,并根据事件类型执行其处理。
如果事件表明,一个描述符已被处理,处理后的标志和缓冲区的处理数域被更新。应用程序的回调函数,然后,以通知该事件的应用程序调用。
如果事件表示DMA处理已经产生了ADI_DEV_EVENT_SUBBUFFER_PROCESSED事件,该功能使适当的回调到应用程序中,指出一个子缓冲区已完成处理。如果事件表示DMA处理已经产生了ADI_DEV_EVENT_BUFFER_PROCESSED事件,该功能使适当的回调到应用程序中,说明整个缓冲区已完成处理。
DMA管理器通过回调机制报告异步DMA错误。有错误,进而传递回通过其回调函数的客户端。
请注意,在这个例程(以及PDDCallback功能) ,设备管理器直接调用客户端回调函数,而不用关心实时回调是否有效。它可以做到这一点, DMA管理器传递的句柄延迟回调服务为adi_dma_Open功能的一部分。因此,如果延迟回调服务的使用,在设备管理器中DMACallback函数的调用是由DMA管理器延迟。在这种方式中, dmaCallback函数可以直接调用客户端的回调函数。