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

【经验分享】STM32F0库函数初始化系列:ADC

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)
      L/ c# d6 H+ e- f: f5 G! @
  2. {$ y7 K8 |3 A( M: W
  3.   ADC_InitTypeDef     ADC_InitStructure;
    + K# L0 y* a% B6 _+ c% G6 Z4 b

  4. 3 E! m% h* b! Y- H8 L, J' Q8 t

  5. * T, \' K2 a8 }, I, o) L. H
  6.   /* ADCs DeInit */  
    ( v4 E& D, U: K( K8 p9 f6 o
  7.   //ADC_DeInit(ADC1);
    4 X. Q1 W! e0 ~  h# `
  8. % c3 S7 k3 {5 X9 K
  9.   /* Initialize ADC structure */! Q1 \2 C5 E6 R" m- U& ?* ^0 D* {
  10.   ADC_StructInit(&ADC_InitStructure);$ U& F% `, Z' n
  11. 3 X( n! L2 ^: F) a, {
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */+ \% A8 x9 T1 r( u8 f: I) h
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;! I; u# k/ k- U' @! i- X
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
    ! R: q! b5 w' N0 P5 K+ z
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
    . @) \. x5 Q0 d( n- m
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
    % j5 c5 t9 H- A1 l. p& o/ q5 S
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;* H" h8 P! P* c
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    . z5 G" P- W! R& d. s. s
  19. ; N% T  H  I- m! X% {6 i5 s1 x# d
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  ) y) \( U' I6 C' D$ n, Q2 }  v0 ^
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);
    * @- v/ J. u" [2 \/ ~& ?5 L, C! ?
  22.   /* ADC Calibration */% }% _: H( o' r; p4 q/ m
  23.   ADC_GetCalibrationFactor(ADC1);: L" }5 q: ~6 E3 \
  24. 1 D" s! Q2 Q- ?" j6 z* E% r
  25.   /* ADC DMA request in circular mode */
    $ `* h% L* f0 B# p, u, [0 J% }
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);
    + Q* N  k# F1 X/ k

  27. " }8 q3 n, F" D/ j& `3 M' O
  28.   /* Enable ADC_DMA */
    , p, N1 g# ]6 @( I
  29.   //ADC_DMACmd(ADC1, ENABLE);  1 ]) J6 f5 u+ D% `
  30. 0 r2 L# ~. k3 T
  31.   /* Enable the ADC peripheral */
    / u+ _9 s) X5 Y- k2 U1 Z, @
  32.   ADC_Cmd(ADC1, ENABLE);       V$ I0 \9 F* a0 e0 E
  33. # M  d2 J& R2 }) v& S
  34.   /* Wait the ADRDY flag */3 ?* ~$ x  ?) a; X+ l
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY));
    7 ]0 G9 S2 P) N7 D% ^" s

  36. . w) T& O" s3 v2 k: B! h
  37.   /* ADC1 regular Software Start Conv */ 1 H1 E6 m5 d! A* e$ z; ^. m( G1 f9 K+ V1 i
  38.   ADC_StartOfConversion(ADC1);
      {2 E% Q% E+ X) W

  39. : A& |. [! v# l
  40. }
    ' O& o4 K7 M2 P: k& q. v
  41. ; H" k# {3 `" X  W! u6 m0 J/ t) Y4 X1 J
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束" q. i6 t& `$ E" ~
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码
9 P4 ~) c6 v8 m8 b
) Y, B9 s4 w: X# w& p

6 X2 W- H$ ?8 x
/ |. f( ?  P8 `: A( @7 a; G. s# r
赞 收藏 评论0 发布时间:2021-11-23 21:01

举报

0个回答

所属标签

相似技术帖

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