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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)
    & z0 ?; u$ \6 h. p
  2. {+ T; A' x  g8 m: @8 \
  3.   ADC_InitTypeDef     ADC_InitStructure;
    4 o# i! `+ x. w. P* n5 e

  4. 5 G% S1 Q# N9 N8 z2 ^: {

  5. 3 r. a5 I5 e" e! \3 D6 ]& l
  6.   /* ADCs DeInit */  ; l4 X; U! Q" ?+ t
  7.   //ADC_DeInit(ADC1);
    ' ?: h/ [* c) K6 x* B7 K' D
  8. 0 ?( B: M# O& `5 G1 G  I
  9.   /* Initialize ADC structure */
    6 T3 ~: m5 n2 H+ g: `8 ]6 P1 k
  10.   ADC_StructInit(&ADC_InitStructure);; u  R7 s: F0 l, d  S1 N6 f4 m
  11. : B; z& y0 V0 s
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */
      f; m1 L! z4 j( m" o, H
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
    : }# Q$ T6 k3 j% @# K' w
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
    0 q9 B* w' W; T: v- |* C- Q! F
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;* n, T4 P5 b. A. [
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
    + _2 x) T- K  B$ H: U
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;0 }0 `# a6 V# M
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    # Z% [/ z& q+ P, G$ E- |

  19. / {: B8 I# [/ [0 R+ t9 T
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  ! h8 z" u. l4 {5 [- [
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);: Q5 F4 T/ [: m, }( c) h0 s+ ^5 y
  22.   /* ADC Calibration */' M( _' C. J' A3 ^8 R, Y$ G
  23.   ADC_GetCalibrationFactor(ADC1);0 S- x- F6 D  f6 H) A

  24. ( q* F0 U, \% s9 c& y
  25.   /* ADC DMA request in circular mode */
    ! c- a' p. b( g* P
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);
    & k( V) R0 w, y3 J1 G& ^1 Q, E9 V' Y

  27. 9 E. a, u# s' ]0 z0 w0 i
  28.   /* Enable ADC_DMA */
    2 E. F) P  t( K. b/ s5 k
  29.   //ADC_DMACmd(ADC1, ENABLE);  
    ! K0 \5 ^5 }/ C- V
  30. 7 x4 Z3 }. Z& E# N
  31.   /* Enable the ADC peripheral */
    # m* D0 F( c0 b
  32.   ADC_Cmd(ADC1, ENABLE);     9 k7 {3 T; T3 r. ~8 r
  33. # h6 K$ c7 Q1 O5 T- r3 L' ~/ R1 y
  34.   /* Wait the ADRDY flag */
    ' M8 X; o( C" c
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY));
      o% w! s% O$ J* j/ o! v" j% s
  36. , ^+ g5 r- I4 T8 t
  37.   /* ADC1 regular Software Start Conv */
    " i9 w" r! ~1 F; ~% s% T
  38.   ADC_StartOfConversion(ADC1);
    - H; z: E- q3 z* V# T  Z

  39. . a) E' M! f+ B8 ^. D0 ^
  40. }9 c, a" _7 b9 ?+ \0 C& r
  41. - j' l( |8 P, W: U% v0 Y
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束) x- m" b( S; i. N$ I
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码
# U7 }' S# q9 t7 \- Y6 v

# P& }" M/ g  h; T
/ u1 p1 p! p/ |3 k7 t" m$ ]  r) c% T( B' D3 U/ g6 x
收藏 评论0 发布时间:2021-11-23 21:01

举报

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