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

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

[复制链接]
sayuenala 发布时间:2019-12-9 13:49
ADC多通道随机选择性转换应用示例
! g/ Z) S/ K- R7 @: b! H6 u, I
我们在做ADC的时候,有时可能要用到多个通道,但并希望它们被同时启动,只是想依据不同的条件在不同的时刻对其中某一个ADC通达进行转换。基于这种应用场景,对有些STM32新手来说似乎还有点困难,这里使用STM32F4系列的一个开发板做个简单的应用演示,以供参考。

9 m2 A3 i6 L( i  b
基本思路是这样的:
先使用STM32CubeMx做基本的配置,并生成初始化代码。在用CubeMx配置ADC时,只选择可能用到的多个通道的其中1个进行配置。这里我用到3个通道,分别是ADC1的CH8、CH12、CH17【CH17为Vrefint专用通道】。在用户代码中再做通道的改变。这里ADC选择软件启动。

" ?+ }) @7 z, V
11.png
4 |. |7 e- s* S( {' R' f
这里我没有开启ADC相关中断,具体应用时可以按需配置。
当生成完初始化代码后,我在其基础上借助Cube库重新组织一个函数,用来针对任意ADC通道进行初始化。该函数用到两个参数,分别是通道号和对应于该通道的采样时间。

4 R5 e$ B' D. U9 d0 Z3 l
22.png
- K$ W# _, T! Q: @( X  G; h
我在main()的主循环里,循环地针对CH8/CH9/CH17进行ADC转换。

1 \1 Z1 S4 B; ]0 v7 G
33.png
6 I6 u& ?+ E- Q" M5 ~1 |0 D2 `: l) V8 f
这里我将CH8接GND,CH12接VDD,CH17内接Vrefint.编译运行后可查看结果:
0 F: Q% J# D& A, q0 {
44.png

5 a2 G8 N% k$ Y) D  j% r
! m" X! \/ g1 U( {/ ~7 J3 c
显然,整个过程还是非常简单的。不同的系列可能会略有差异,使用时结合具体的初始化代码灵活调整即可。

$ {0 Y8 U' ]" r  ?( o8 W. D
7 H9 F6 C. D: l' O
  \: U! W) o$ v
收藏 评论0 发布时间:2019-12-9 13:49

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版