OpenEdv-开源电子网

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

STM32F407 ADC +DMA + Timer

[复制链接]

2

主题

6

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-10-31
在线时间
5 小时
发表于 2017-10-31 05:11:00 | 显示全部楼层 |阅读模式
10金钱
各位大佬好,本人刚接触stm32F407不久,编程中有些疑惑,请大佬帮忙指点!

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

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

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

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

我的代码是在stm32cubemx生产的代码基础上加的。附录是全部的代码。

ADC_time_UART_4CH.rar

11.19 MB, 下载次数: 1298

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-10-31
在线时间
5 小时
 楼主| 发表于 2017-10-31 05:31:48 | 显示全部楼层
我现在设置的adc+dma的采样频率是16MHz/2/(11+56 cycles)=119 kHz; Timer的中断频率是16MHz/(2+1)/(80+1)=67 kHz? 不知道我上面的计算对不对,还请指教。我想提高timer的采样频率到500 kHz左右,应该怎么调整呢?
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-10-31
在线时间
5 小时
 楼主| 发表于 2017-10-31 08:06:51 | 显示全部楼层
怎么能够用timer触发adc+dma 来实现上面的功能呢?求大佬指点!
回复

使用道具 举报

4

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2017-3-11
在线时间
78 小时
发表于 2017-10-31 08:07:09 | 显示全部楼层
小伙子加油
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-10-31
在线时间
5 小时
 楼主| 发表于 2017-10-31 18:29:06 | 显示全部楼层
求各位大佬指点啊!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-31 21:24:11 | 显示全部楼层
帮顶
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-10-31
在线时间
5 小时
 楼主| 发表于 2017-11-8 06:08:27 | 显示全部楼层
顶一下
回复

使用道具 举报

8

主题

206

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-4-6
在线时间
234 小时
发表于 2017-11-8 09:23:42 | 显示全部楼层
楼主可以使用ADC的定时器触发ADC转换的功能
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-5 09:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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