完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
但效率不同,mcu的负荷不同。
|
|
|
|
DMA是硬件直接数据传输,不需要通过CPU控制。这样不仅传输速度快了,更减轻了cpu的运行负担。
|
|
|
|
用和不用当然都可以发送。不用DMA发送是需要单片机实时参与,由单片机一个一个地发送数据并进行监控。但是如果用DMA设置了起始地址,数据大小等参数后,就直接由专门的一个DMA模块进行数据发送,发送过程中单片机无需参与。发送完后会产生中断告知单片机。由此可知用DMA可以节省单片机资源,让单片可以在同一时间里干更多事。
|
|
|
|
提高效率,不占用MCU的资源、
|
|
|
|
dma传输可以不利用mcv资源,你单线程是没啥区别的
|
|
|
|
DMA是对硬件直接传输,不占MCU的资源,传输速度快
|
|
|
|
之前没有DMA的时候串口也是正常用。不过现在有了DMA,可以减少单片机的负荷,降低资源占用,让单片机在串口接收时能干其他事情。
|
|
|
|
DMA相当于是在内存和外设之间打开了一条通道,允许外设控制器直接访问内存的内容,这样从内存拷贝数据到外设控制器可以不消耗CPU的处理能力
|
|
|
|
速度问题和效率问题,就好像可以用IO口模拟的SPI赶不上硬件SPI,另外DMA可以减少CPU的负担,从而让CPU做更多的事情。
|
|
|
|
DMA就是一个搬运工,可以将数据从一个位置搬运到另一个位置。
以UART为例,如果要接收数据,会触发UART中断,然后CPU介入,在中断中通过CPU将UART输入寄存器的值读出来,存放到内存中; 而DMA方式,产生UART中断后,DMA直接参与,把UART输入寄存器的值搬运到内存中,CPU只需要在去检查内存的值就好了,这样提高了CPU的效率。 |
|
|
|
对于数据量的大的应用,有DMA可以提高效率。
|
|
|
|
DMA是一个不占用CPU即可将数据从一个地址搬运到另一个地址,可以降低CPU开销,不使用也不影响
|
|
|
|
DMA的发送是不占用CPU的时间的,CPU可以去做其他的工作的
|
|
|
|
DMA的作用是可以让CPU不专门处理串口接收,串口外设对应的DMA通道可以直接将数据放到定义的缓存里。CPU可以等收完了再去处理。
|
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2504 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2684 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
665浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
280浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 22:22 , Processed in 1.536170 second(s), Total 107, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号