DMA和DAC是如何结合使用的,可以举个例子讲解吗?虽然看了原理,但是理解得不透彻。
我一般不看原理,只看他是干啥用的
功能和DMA+ADC, DMA+SPI, DMA+XXX 提高效率方便软件处理
比如说你读SD卡或者其他途径,读到输出的数,假设值为0x80,你放在变量uint8_t dacout;里
传统的方法是
读卡-->值读到dacout内存里-->写相关寄存器(将dacout里的值写入对应外设寄存器)
但有了DMA后,软件上可以省掉最后一步
读卡-->值读到dacout内存里-->DMA自动写相关寄存器无需软件额外操作
ADC,SPI等各种外设也类似
比较典型重要的应用是显示相关,因为显示缓存数据量大,软件上降显示缓存送到显示器上去很费精力,有DMA就简单多了,你只需要关注内存,而不用考虑将内存到显示外设上
理解不透,自己做个实验就知道怎么用了,然后你就会爱上它。自己弄懂的印象比较深,在运用过程中,不懂的地方在来问,这样也能解决实际的问题,不然别人在怎么说都是那样。