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

定时器触发STM32 ADC的采样转换示例

[复制链接]
STMCU-管管 发布时间:2021-12-31 13:01
! e# i& f* g3 E8 ?) O
  W" W% `# {) g8 X
开发板:STM32F446 Nucleo开发板
0 S- g7 ~8 \/ J# oIDE:  keil MDK! G4 N6 j9 B+ M% W; c
初始化配置工具:stm32cubeMx
2 G2 l4 J% N/ [2 P6 @7 E
% b, Y4 X, ]8 U2 m( d" e8 l3 C例程内容:% x6 Q  N* t7 T0 W( }% Z; x! V
通过定时器触发ADC规则通道及注入通道的模数转换工作。
! Z( B, L# l7 `6 c" ]: ~下面基于STM32CubeMx进行些必要的初始配置。
! g8 z- [( |; j关于定时器的配置,没有太多要介绍的,根据具有应用设置好时间参数即可。这里用到TIM1和TIM3.% `2 _8 |/ {2 p. e3 ~8 G5 [
14.png
关于ADC,这里用到规则通道和注入通道。选择了下面ADC1的4个通道为规则通道,并通过TIM3来触发其转换。2 E4 I2 v6 V. l! h+ L$ V; F
15.png
上面4个通道的转换结果通过DMA搬至相应内存,相关DMA配置如下:【注:我这里配置为DMA循环模式,不是必须的,可以根据具体应用调整为Normal模式。】6 J  N9 r- ?  [: [
16.png
另外两个通道配置为ADC1的注入通道,并通过TIM1来触发转换。见下面配置:6 l7 ?) ]! `2 H; n0 F9 k, h
17.png
注入转换结果通过转换完成中断到相关寄存器读取。* c# q* ]" g+ A8 c! G* @+ r
AdcInj_Temperature =ADC1->JDR1;0 |' {1 Q1 ]0 g- ^$ q; b/ E7 x0 r
AdcInj_Vrefint =ADC1->JDR2;
+ Q5 t9 ^4 c& I) R. t6 V5 q
, k" h4 y. \: ]( v# f, \例程所用到的其它用户参考代码如下:
  _' {5 V' O9 J5 f' ?8 d0 N
  1. uint32_t    AdcInj_Temperature;- f  B0 n5 C3 ~* m. z: l- [" ^
  2. uint32_t    AdcInj_Vrefint ;. B6 b" m# u6 J6 `3 U( j
  3. #define    size  (4)7 F0 i. u9 a. S
  4. uint32_t  Value_RegularADC[size]={0};
    3 A: u" B; g: o: W# V6 v5 A+ j' n4 Y9 P
  5. AL_ADC_Start_DMA(&hadc1,(uint32_t* )Value_RegularADC, size );
    ; p2 e/ D0 d) `2 ?* K  [( h
  6. HAL_ADCEx_InjectedStart_IT(&hadc1);/ A6 |( \8 M1 m2 {& K
  7. HAL_TIM_Base_Start(&htim1);" W8 Q: E5 s, S
  8. HAL_TIM_Base_Start(&htim3);
复制代码
编译调试后即可验证结果:2 ?' o: Q( f* N' r2 ^. Z
18.png
ADC规则通道每被TIM3触发一次则做一轮AD转换,转换结果通过DMA传输到内存;注入通道在TIM1的触发下实施转换,通过中断提取结果。8 C* |- `6 y. M) G

1 y% }/ q( M$ _# Q1 c" ROK,该示例就介绍到这里,抛砖引玉,以供STM32开发者参考。5 C" I/ \* c, Y
% y9 s- t3 k6 ?

, _% `0 ^3 Z& }. c! M
+ R+ |0 t+ n9 v
" V" W' B  Q: F8 P' s

; M) h( ~  T# I, N& D" p( h

4 r( H. s( O% i) J6 [: o
6 U9 g! }3 r* c/ p" T
赞 收藏 评论0 发布时间:2021-12-31 13:01

举报

0个回答

所属标签

相似技术帖

官网相关资源

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