STM32F407 ADC +DMA + Timer

2019-07-20 11:07发布

各位大佬好,本人刚接触stm32F407不久,编程中有些疑惑,请大佬帮忙指点!

我要实现的功能是4路adc转换,当某一路的adc值大于阈值Thres_value后,开启定时器timer2, 以特定采样频率采集固定长度的数据(四路)。

现在用的是adc+dma连续采样模式,将结果存在一个数组adcValue[4]中。等adcvalue中有大于阈值的数值后,timer启动,将数据存入另外一个变量datastore做后处理。

现在程序没问题了。可是我想提高采样频率,也就是挑战timer的trigger周期,但是并不能得到自己想要的结果。求大佬帮忙看一下。

另外,我现在ADC+DMA有一个采样频率;Timer有另外一个采样频率,这样弄感觉不妥,能不能用timer做ADC的trigger,来实现上面的功能?

我的代码是在stm32cubemx生产的代码基础上加的。附录是全部的代码。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
imperialfu11
1楼-- · 2019-07-20 12:46
我现在设置的adc+dma的采样频率是16MHz/2/(11+56 cycles)=119 kHz; Timer的中断频率是16MHz/(2+1)/(80+1)=67 kHz? 不知道我上面的计算对不对,还请指教。我想提高timer的采样频率到500 kHz左右,应该怎么调整呢?
imperialfu11
2楼-- · 2019-07-20 14:22
 精彩回答 2  元偷偷看……
呵呵呵开西寨
3楼-- · 2019-07-20 19:58
小伙子加油
imperialfu11
4楼-- · 2019-07-20 20:53
求各位大佬指点啊!
正点原子
5楼-- · 2019-07-21 01:15
 精彩回答 2  元偷偷看……
imperialfu11
6楼-- · 2019-07-21 05:02
顶一下

一周热门 更多>