OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3871|回复: 9

关于F2系列用DMA更改变PWM脉宽的问题

[复制链接]

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
发表于 2016-5-24 13:44:10 | 显示全部楼层 |阅读模式
40金钱
我想用DMA把一个数组的值传到定时器的CCR4里面去,本意是想每一次定时中断传一个数据,但是现在是每进一次定时中断,DMA就传完所有数据了(即进一次定时中断立马进一次DMA中断)file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1109540408\QQ\WinTemp\RichOle\2I0FVDLR1GJH529`C}GP7D9.png[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1109540408\QQ\WinTemp\RichOle\@AQ5Y$@C7QQO`[B]4%`]NCX.png[/img],是不是哪里没配置好呢。下面是定时器和DMA的配置函数
QQ图片20160524134232.png
QQ图片20160524134238.png

最佳答案

查看完整内容[请看2#楼]

关闭DMA传输完成中断
敢想敢为,敢做敢当。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-5-24 13:44:11 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-24 15:09:02 | 显示全部楼层
求帮助
敢想敢为,敢做敢当。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-24 21:03:58 | 显示全部楼层
求~~~~~帮~~~~~~助,搞了好几天了,为啥F2的DMA和F1差别那么大啊
敢想敢为,敢做敢当。
回复

使用道具 举报

31

主题

147

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2182
金钱
2182
注册时间
2014-6-30
在线时间
341 小时
发表于 2016-5-24 21:47:04 | 显示全部楼层
自己理解的:设置DMA缓存的大小试试吧,每次中断的时候让指向数组的指针递增,达到数组大小后重新开始
在电路上充实自己
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-24 22:49:38 | 显示全部楼层
greatxiaoguzi 发表于 2016-5-24 21:47
自己理解的:设置DMA缓存的大小试试吧,每次中断的时候让指向数组的指针递增,达到数组大小后重新开始

那个buffersize已经试过改动了,改成1和2都是一样的现象。那个指针不是DMA自己会递增的吗,
敢想敢为,敢做敢当。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-24 22:49:54 | 显示全部楼层
greatxiaoguzi 发表于 2016-5-24 21:47
自己理解的:设置DMA缓存的大小试试吧,每次中断的时候让指向数组的指针递增,达到数组大小后重新开始

那个buffersize已经试过改动了,改成1和2都是一样的现象。那个指针不是DMA自己会递增的吗,
敢想敢为,敢做敢当。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-24 22:50:06 | 显示全部楼层
greatxiaoguzi 发表于 2016-5-24 21:47
自己理解的:设置DMA缓存的大小试试吧,每次中断的时候让指向数组的指针递增,达到数组大小后重新开始

那个buffersize已经试过改动了,改成1和2都是一样的现象。那个指针不是DMA自己会递增的吗,
敢想敢为,敢做敢当。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-25 10:55:34 | 显示全部楼层
再顶个,万一有人帮我找出问题了呢
敢想敢为,敢做敢当。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
 楼主| 发表于 2016-5-28 19:26:16 | 显示全部楼层
正点原子 发表于 2016-5-25 20:37
关闭DMA传输完成中断

多谢原子哥提示,问题解决了,但DMA中断还是可以用的,加了定时中断就不行了,后来又在手册中翻到这么一句话“interrupt/DMA generation on the following events。。。。。"可能是指定时器中断信号与DMA触发信号只能产生一种的意思。它这个斜杠打得太含糊了。
敢想敢为,敢做敢当。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 20:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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