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

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

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

$ \5 h9 i. \& f6 Q" }( J1 b% }
我们在做ADC的时候,有时可能要用到多个通道,但并希望它们被同时启动,只是想依据不同的条件在不同的时刻对其中某一个ADC通达进行转换。基于这种应用场景,对有些STM32新手来说似乎还有点困难,这里使用STM32F4系列的一个开发板做个简单的应用演示,以供参考。

- O, A1 l4 h  ?0 D# U
基本思路是这样的:
先使用STM32CubeMx做基本的配置,并生成初始化代码。在用CubeMx配置ADC时,只选择可能用到的多个通道的其中1个进行配置。这里我用到3个通道,分别是ADC1的CH8、CH12、CH17【CH17为Vrefint专用通道】。在用户代码中再做通道的改变。这里ADC选择软件启动。
3 @% y' u* P% e7 b* @" t# S
11.png

' c# h* b" l9 H% M
这里我没有开启ADC相关中断,具体应用时可以按需配置。
当生成完初始化代码后,我在其基础上借助Cube库重新组织一个函数,用来针对任意ADC通道进行初始化。该函数用到两个参数,分别是通道号和对应于该通道的采样时间。
& f! U' A* J. P7 b
22.png

- |5 ]$ F# d; h2 s0 m8 E# ]
我在main()的主循环里,循环地针对CH8/CH9/CH17进行ADC转换。

$ h% A5 a9 Z' Y
33.png
( V- X. h8 c2 h  }1 f7 U+ s
这里我将CH8接GND,CH12接VDD,CH17内接Vrefint.编译运行后可查看结果:
6 ^4 }( M7 n0 z: c7 t9 a
44.png

% n4 f, k6 S% U, _1 P/ Z
& Z5 b4 R& X/ h7 `' y$ W
显然,整个过程还是非常简单的。不同的系列可能会略有差异,使用时结合具体的初始化代码灵活调整即可。

. |( A( Q7 J3 a% Q7 L

7 k) I) c' [* E- k, K2 V
  C. @1 f9 ~# @- A' ?. b
收藏 评论0 发布时间:2019-12-9 13:49

举报

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