你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ADC多通道随机选择性转换应用示例

[复制链接]
sayuenala 发布时间:2019-12-9 13:49
ADC多通道随机选择性转换应用示例

- C) }1 {9 i$ Z, L5 B/ ?
我们在做ADC的时候,有时可能要用到多个通道,但并希望它们被同时启动,只是想依据不同的条件在不同的时刻对其中某一个ADC通达进行转换。基于这种应用场景,对有些STM32新手来说似乎还有点困难,这里使用STM32F4系列的一个开发板做个简单的应用演示,以供参考。

" m' S1 B7 e8 Z6 J5 |/ Y( e
基本思路是这样的:
先使用STM32CubeMx做基本的配置,并生成初始化代码。在用CubeMx配置ADC时,只选择可能用到的多个通道的其中1个进行配置。这里我用到3个通道,分别是ADC1的CH8、CH12、CH17【CH17为Vrefint专用通道】。在用户代码中再做通道的改变。这里ADC选择软件启动。

- c% s8 G1 e( ~* k9 {# @3 i+ i
11.png

2 B2 L1 N- e) c6 \5 x; V& ]
这里我没有开启ADC相关中断,具体应用时可以按需配置。
当生成完初始化代码后,我在其基础上借助Cube库重新组织一个函数,用来针对任意ADC通道进行初始化。该函数用到两个参数,分别是通道号和对应于该通道的采样时间。

+ Y* l' v+ B8 o1 U: j! }/ G
22.png

* Q/ f) u7 g$ B2 V" [5 x
我在main()的主循环里,循环地针对CH8/CH9/CH17进行ADC转换。

8 }, U7 x+ \8 t% q4 }
33.png
$ W+ p* V, ]" v6 t$ K
这里我将CH8接GND,CH12接VDD,CH17内接Vrefint.编译运行后可查看结果:
  R4 s+ t- d  Z9 }# L
44.png

1 l4 j5 D; W# }! z0 b( t$ B- B
! `0 y% f  i& I, h( H6 k
显然,整个过程还是非常简单的。不同的系列可能会略有差异,使用时结合具体的初始化代码灵活调整即可。

) m/ T! N" {+ p) @& H
8 N' }% ^+ T. M9 Z7 k: I

% {$ z3 ~* d4 ]7 s2 [( _- `$ D
赞 收藏 评论0 发布时间:2019-12-9 13:49

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版