DMA DAC TIM 问题,寄存器配置。

2019-07-21 06:41发布

我是想用 定时器2的TRGO事件触发DAC,并且开启了DAC-DMA,通过DMA将定义好的数组内容依次传到DA的输入端,从而转化为模拟值输出。而什么时候触发DA是由TIM2决定的,我想问的是,DMA是什么时候开始传送的?TIM2是触发DAC的,和DMA有什么关系,虽说配置了DAC-DMA模式,但中文参考手册中并没有详细说清楚。以下是源代码,主函数不必看,有哪位高手能帮我看看DMA.C TIMER.C 和DAC.C配置代码有什么问题么,是不是少配置了什么,还是怎么回事。卡了我3天了,,求帮助。我把所有金钱都拿出来了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
正点原子
1楼-- · 2019-07-21 10:27
论坛有例程,学会搜索找参考!!http://www.openedv.com/forum.php ... &extra=page%3D1
huiye丶666
2楼-- · 2019-07-21 11:54
有没有遇到过同样问题的小伙伴啊。
huiye丶666
3楼-- · 2019-07-21 17:13
这个是我模仿的网友的改的库函数版本的,还是不行哎。怎么办
bbq
4楼-- · 2019-07-21 21:09
 精彩回答 2  元偷偷看……
huiye丶666
5楼-- · 2019-07-22 01:22
bbq 发表于 2018-7-16 11:07
你是不是想输出波形啊?DMA与DAC没有什么联系,DMA只是用来搬运东西的,我记得寄存器配置可以配置什么时候 ...

是的,我想输出波形,但不是很明白具体工作过程是什么样子的,我只知道TIM是用来触发的,不知道是触发DMA还是触发DAC。因为之前我们弄过一个模拟示波器,那个里面是用TIM触发ADC去采集信号,然后将采集到的数据用DMA传送到缓冲区里面,之后在屏幕上面把波形刷出来。所以我很自然而然的想到了是不是DAC也有TIM触发功能,但是这次DMA是先传送数据,然后DAC再去转换。和ADC的不一样。然后我就不知道是用TIM触发DMA还是TIM触发DAC了。上面原子哥分享那个我的理解是DAC一直在工作。TIM是触发DMA的,什么时候DMA给了DAC数据,什么时候转化。
huiye丶666
6楼-- · 2019-07-22 06:07
正点原子 发表于 2018-7-15 15:40
论坛有例程,学会搜索找参考!!http://www.openedv.com/forum.php?mod=viewthread&tid=109411&extra=page% ...

谢谢原子哥,我昨天找的时候找到这个了,也下载下来了,然后先看的注释,发现和视频讲解里面那个DMA传送的一样,然后我以为是原子哥弄错了,后来就删掉了。然后今天早上看到你给我推荐的还是这个,我又一次下载下来,重新打开,仔细看了看源码,发现已经不一样了,一些无关紧要的代码没有动,还有注释也没有改,核心代码已经改了。下载到板子上,很准确,示波器显示的频率和定时器设置的频率是很符合的。谢谢原子哥。我会一如既往的支持正点原子的。如果好的例程能够有及时修正的注释的话就更完美了。

一周热门 更多>