查看: 2157|回复: 3

[已解决] KL,如何改变DMA配置(已解决)

[复制链接]

该用户从未签到

25

主题

104

帖子

0

中级会员

Rank: 3Rank: 3

积分
302
最后登录
1970-1-1
发表于 2014-3-7 22:52:58 | 显示全部楼层 |阅读模式
 如题,我正在用KL15的mcu, 想实现用一个DMA通道传两组数据,两组数据的切换是由定时器控制的,
 
定时时间到以后改变DMA配置的源地址和数据长度:
 
 DMAMUX0_CHCFG2 = 0x00;  // Disable DMA Mux channel first 
 
DMA_DSR_BCR2=DMA_DSR_BCR_DONE_MASK;//set the done flag before change dma config
 
 
DMA_SAR2=(uint32)date;
 
DMA_DSR_BCR2 = DMA_DSR_BCR_BCR(526*2); 
 
但是调试观察是没有切换成功的,求问应该如何重新只改变这两个配置,其他配置不变?
 
感谢!
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-3-10 15:08:09 | 显示全部楼层

回复:KL,如何改变DMA配置

 你好,楼主!!
请问你是想实现,DMA传输不定长数据的功能,即预定的传输长度没有完成,就认为设置完成标志位?
回复 支持 反对

使用道具 举报

该用户从未签到

25

主题

104

帖子

0

中级会员

Rank: 3Rank: 3

积分
302
最后登录
1970-1-1
 楼主| 发表于 2014-3-21 10:02:59 | 显示全部楼层

回复:KL,如何改变DMA配置

不好意思回复的有些晚了。当时是这样设计的,不过好像也可以改成定长传输,主要是想切换到另一块源buffer的时候能尽量少耽搁时间,我现在暂时就是一块buffer传完以后重新配置这路DMA传另一块,虽然只有源地址和长度变了。
回复第 2 楼 于2014-03-10 15:08:09发表:
 你好,楼主!!
请问你是想实现,DMA传输不定长数据的功能,即预定的传输长度没有完成,就认为设置完成标志位?
 

 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-25 09:57:56 | 显示全部楼层

RE:KL,如何改变DMA配置

你好,不好意思,回复迟了!
我认为,你不能直接用定时器改变配置的。
因为如果你还没有传输完成的话,你不能手动控制DONE的完成,你需要等待DONE置位之后再重新配置。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 04:59 , Processed in 0.091435 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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