OpenEdv-开源电子网

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

DAC+TIM+DMA怎样控制DAC输出固定点数后停止传输?

[复制链接]

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-2-4
在线时间
10 小时
发表于 2020-4-29 15:51:09 | 显示全部楼层 |阅读模式
1金钱
现状描述:使用定时器触发DAC,DAC请求DMA传输n个点问题:想要在n个点传输完一次后停止DAC输出,该怎样实现?
自己的一点想法:在定时器里面添加定时器中断,对定时器触发DAC个数进行累加,判断到4096执行定时器停止语句
担忧:我如果输出96K的波形,进入定时器中断处理的时间会不会影响到下一次触发DAC,也就是会不会影响两次DAC触发的时间间隔?

最佳答案

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

你设置DMA单次传输模式, 就可以了。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-4-29 15:51:10 | 显示全部楼层
你设置DMA单次传输模式, 就可以了。。。
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2020-4-29 21:28:20 | 显示全部楼层
这个你具体试下,仿真看看数据,或者重新开始新的一次数据传输
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-2-4
在线时间
10 小时
 楼主| 发表于 2020-4-30 09:04:17 | 显示全部楼层
正点原子 发表于 2020-4-29 15:51
你设置DMA单次传输模式, 就可以了。。。

我之前也尝试了一下,但是输出的波形很乱,我再复现一下
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-2-4
在线时间
10 小时
 楼主| 发表于 2020-4-30 09:25:17 | 显示全部楼层
正点原子 发表于 2020-4-29 15:51
你设置DMA单次传输模式, 就可以了。。。

验证了一下,确实可以,感谢耐心解答.但是还有另一个问题:程序不复位设置DMA单次传输后下次应该如何启动DMA传输呢?
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-2-4
在线时间
10 小时
 楼主| 发表于 2020-4-30 09:30:15 | 显示全部楼层
本帖最后由 xiewenkai 于 2020-4-30 09:34 编辑

自定通讯协议

自定通讯协议
C:\Users\X\Desktop\tongxun.png
C:\Users\X\Desktop\DMA.png
C:\Users\X\Desktop\TIM2.png
C:\Users\X\Desktop\DAC.png

TIM

TIM


DAC

DAC


DMA

DMA


回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-2-4
在线时间
10 小时
 楼主| 发表于 2020-4-30 09:36:02 | 显示全部楼层

@正点原子 现在的配置是这样的,请问要实现我想要的功能应该如何改进呢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-2 02:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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