This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Tiva UDMA 重复触发



我想用Timer定时触发ADC0转换,然后用ADC0触发UDMA运走FIFO中的采样数据。

配置UDMA使用BASIC模式。

问题是UDMA被触发第一次并完成搬运后会自动把模式设置为STOP,并清除XFERSIZE。因此每次搬运完成后需要CPU介入再次配置UDMA,才能是下次搬运成功。

我希望不要中断CPU,有没有哪里可以设置使得UDMA完成一次搬运后不会回到STOP模式,也不清除XFERSIZE?

  • Razi

    uDMA在一次传输完成之后,会将其置于STOP状态。不能实现自动重载配置。需要软件重新配置。

    XFERSIZE,该位域的实际含义是剩余需要传输的数据单元数。在每次仲裁时,DMA控制起会自动更新该值,并非传输完成后一次性清零。