wdliming-222461 发表于 2019-8-15 10:29:10

关于dma会不会减少cpu资源占用的问题

目前使用dma的方式来传输定时器输入捕获的数据,内存数据大小为2,使用normal模式,100ms打开dma模式,请问,这种情况下,是不是每隔100ms会触发dma的传输完成中断? 这个理解对不对?

butterflyspring 发表于 2019-9-11 16:56:51

一般来说,DMA是根据对应的request'来启动传输数据的,也就是配置定时器捕获后产生的request来使DMA开始工作:)

dgdzes 发表于 2019-9-11 17:22:00

DMA传输过程不需要cpu参与,结束后通知cpu。

xmshao 发表于 2019-9-16 15:04:47

DMA的一个重要用途就是减轻CPU压力的。

你定时器事件触发DMA,Normal模式的话,传输2个数据后就可以触发DMA传输完成中断。即这个中断是可以关闭,如果觉得不需要的。 当然如果通过CubeMx配置,它会默认打开。

至于多久,取决于定时器的触发时间间隔,如果100ms触发一次,这里就是200ms可以触发DMA传输完成中断。

页: [1]
查看完整版本: 关于dma会不会减少cpu资源占用的问题