野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9842|回复: 4

新人求教,关于ADC采样后存储的问题

[复制链接]
发表于 2017-8-24 15:35:38 | 显示全部楼层 |阅读模式
我现在看的“ADC—独立模式-单通道-DMA”这个例子

我做了以下更改:
///缓冲区大小
DMA_InitStructure.DMA_BufferSize = LEN_ADC_BUF;//为方便观察先设的10
//存储器地址递增
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

然后采集的数据就存储在了  ADC_ConvertedValue[LEN_ADC_BUF]  中。(是这样吧?)


问题:
1.然后我想,既然设定了
//循环传输模式
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
那ADC得到的数据是不是就会循环写入数组  ADC_ConvertedValue  中了?

2.如果问题1的答案是 是 的话,那我怎么知道这个数组目前已经被赋值到了第几位呢?
回复

使用道具 举报

发表于 2017-8-24 15:37:26 | 显示全部楼层
是,无法知道,转换非常快,都是us级别的

如果要想知道,可以使用定时器触发转换,由定时器来控制转换的频率
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-24 15:57:08 | 显示全部楼层
fire 发表于 2017-8-24 15:37
是,无法知道,转换非常快,都是us级别的

如果要想知道,可以使用定时器触发转换,由定时器来控制转换的 ...

多谢帮助。

能否再请教一下,如果我想在保证采样速率的情况下(大概是10us的采样间隔),对采样得到的信号进行处理的话,有什么比较方便的方法吗?

这种循环存储的方式会导致后来的数据反而在数组前几位,这就不好弄了呢。
回复 支持 反对

使用道具 举报

发表于 2017-8-24 16:02:16 | 显示全部楼层
Trimurti 发表于 2017-8-24 15:57
多谢帮助。

能否再请教一下,如果我想在保证采样速率的情况下(大概是10us的采样间隔),对采样得到的 ...

这个靠你了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-24 16:25:06 | 显示全部楼层

感觉要跪

总之多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 18:25 , Processed in 0.030904 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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