硬汉嵌入式论坛

 找回密码
 立即注册
查看: 496|回复: 5
收起左侧

[有问必答] DMA传输完成的条件和DMA_SxNDTR的关系

[复制链接]

32

主题

103

回帖

199

积分

高级会员

积分
199
发表于 2024-1-5 09:14:46 | 显示全部楼层 |阅读模式
看手册里是这样写的

dma完成.png

第一句的意思是存储器到外设,DMA_SxNDTR 到0,是传输完成。
没有说外设到存储器,说明外设到存储器模式,DMA_SxNDTR 到0不会传输结束。如果外设到存储器模式,DMA_SxNDTR 到0会传输结束,就没必要单独说一句存储器到外设模式了。

第二句的意思是非循环模式下,DMA_SxNDTR 到0,为传输结束。意思是DMA_SxNDTR到0,传输结束。跟第一句矛盾了啊。

回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2024-1-5 11:00:24 | 显示全部楼层
当DMA做流控的时候,发送的字节数存放到DMA_SxNDTR寄存器中,当DMA_SxNDTR到0的时候,即是发送完成,也就是传输结束。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2024-1-5 11:11:26 | 显示全部楼层
在新思的DMA IP中,DMA做流控的时候,P2M模式时,类似的DMA_SxNDTR 到0会传输结束
回复

使用道具 举报

0

主题

124

回帖

124

积分

初级会员

积分
124
发表于 2024-1-5 13:32:30 | 显示全部楼层
你的理解有差了, 只要是非循环模式下, DMA_SxNDTR==0 都是DMA停止的其中一条件。
回复

使用道具 举报

5

主题

192

回帖

212

积分

高级会员

积分
212
发表于 2024-1-5 14:03:07 | 显示全部楼层
啥矛盾没看出来,计数到0,DMA结束传输
回复

使用道具 举报

32

主题

103

回帖

199

积分

高级会员

积分
199
 楼主| 发表于 2024-1-25 10:55:15 | 显示全部楼层
Edmund1964 发表于 2024-1-5 13:32
你的理解有差了, 只要是非循环模式下, DMA_SxNDTR==0 都是DMA停止的其中一条件。

第一个红框  存储器到外设,DMA_SxNDTR 到0,是传输完成
但是外设到存储器时,没有说明  DMA_SxNDTR 到0,是传输完成
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 13:32 , Processed in 0.292872 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表