LAOXU 发表于 2023-12-4 08:30:25

DMA 的用途 有哪些? 欢迎网友补充~~~



DMA 最基本的用途向, 在于要求实时性不高的场合, 大量数据通过 DMA传输, 可节约单片机的开消.

比如:
1. 显示屏 的数据 刷新.

2. 串口, SPI 等的数据传输.

而有些有实时要求的, 可能就用不上了

比如:
1. 显示屏 上作图, 与其整幅数据 刷新, 还不如 软件修改局部, 来的响应快.

2. ADC数据动态采集计算, 当前各种参数. 与其坐等 DMA传输, 还不如直接读取ADC数据计算, 来的响应快.

jwd 发表于 2023-12-4 09:57:40

DM主要还是便捷,不用CPU太多精力关注吧,比如以前串口中断,一字节一中断,现在数据包完成后才中断一次,通讯速率可以更高了,编程也简单得多了

飞捷 发表于 2023-12-17 22:34:56

jwd 发表于 2023-12-4 09:57
DM主要还是便捷,不用CPU太多精力关注吧,比如以前串口中断,一字节一中断,现在数据包完成后才中断一次, ...

DMA接收完成,直接拿来用,不用怕串口中断与其它优先级更高的中断了导致丢码

_奶咖君_ 发表于 2023-12-19 19:34:46

jwd 发表于 2023-12-4 09:57
DM主要还是便捷,不用CPU太多精力关注吧,比如以前串口中断,一字节一中断,现在数据包完成后才中断一次, ...

通讯速率不会因为你用了DMA就会变化,,只是CPU的利用率变高了.这个是一个误导发言.

_奶咖君_ 发表于 2023-12-19 19:36:50

话说,,坐等DMA传输,和你直接读取,,到底都需要等ADC转换完成啊,,只不过一个是你CPU在这里等着 一个是DMA代替你CPU在这里等着啊,,我的理解应该没有错把{:4_167:}

jwd 发表于 2023-12-19 21:12:45

cofmilk 发表于 2023-12-19 19:34
通讯速率不会因为你用了DMA就会变化,,只是CPU的利用率变高了.这个是一个误导发言. ...

抱歉,表意不清

嵌入式之路 发表于 2023-12-19 21:59:13

音频也可以的, 比如i2s

gentleman 发表于 2023-12-19 22:08:13

第一反应就是 驱屏{:4_165:}

_奶咖君_ 发表于 2023-12-20 08:49:33

gentleman 发表于 2023-12-19 22:08
第一反应就是 驱屏

我也是 ,,还有驱动灯珠之类的显示用的东西,,{:4_165:}这些东西数据量大,,占用CPU时间比较长..
页: [1]
查看完整版本: DMA 的用途 有哪些? 欢迎网友补充~~~