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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)
    ; B7 v  {3 L0 C, y0 {  {0 m
  2. {& X$ c% {9 B* v6 |+ E. u' H$ a: L
  3.   ADC_InitTypeDef     ADC_InitStructure;
    5 d! E0 u6 ^2 @# s$ ]7 Q. a) `

  4. 9 H1 J+ X, c2 `& m- l* F" ~
  5. & I9 Q( U6 s8 P6 Q* ]+ ?
  6.   /* ADCs DeInit */  
    2 a, D- U5 L' a/ k- U
  7.   //ADC_DeInit(ADC1);2 x' S6 z/ Y6 ~1 ?6 E/ c
  8. " `* J* P9 u1 c3 @
  9.   /* Initialize ADC structure */; r( q; H: M  R: o2 O
  10.   ADC_StructInit(&ADC_InitStructure);1 l; c: Q! Z" y% |% p: G( a
  11. / _' ~8 F- c7 L3 Z& S  a
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */
    ( s) _1 }0 N3 p; }' ?# G) }
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;: O5 d: B4 f: R: ^- X1 j
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; # k; ]5 ~; a  f% c& o/ r2 r- u* e7 B
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
    . f( T0 B8 ]" b% j7 G
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;: r" t9 m1 W0 d0 K- U
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;) o7 C9 m8 \4 p+ ?
  18.   ADC_Init(ADC1, &ADC_InitStructure); 7 @  h0 j# K6 r: O  X" Q

  19. ; Y! W$ N: X! m1 _# s: f# V# f
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  " l" k  [  e9 D  F* ^5 D
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);2 m) s3 x% g3 N
  22.   /* ADC Calibration */
    / m) z2 @3 F# w7 g. N9 V1 D
  23.   ADC_GetCalibrationFactor(ADC1);, e/ ^. L/ j* U8 d+ E4 v
  24. # n" G: W, Y" ]- H) s6 F+ k
  25.   /* ADC DMA request in circular mode */
    # z3 ?6 S8 Y% F* v2 M  `& F
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);
    ! T5 C" H( J2 u; h; o

  27. 1 f, R6 T5 Z1 `! r( Q( p1 B
  28.   /* Enable ADC_DMA */
    1 _5 y, s. H1 p& P% [2 Z9 a/ J9 ]
  29.   //ADC_DMACmd(ADC1, ENABLE);  
    6 ]6 z- a* X- h# N+ r

  30. 7 c* v' L% d, a+ |
  31.   /* Enable the ADC peripheral */2 [; q& T  F. s2 z
  32.   ADC_Cmd(ADC1, ENABLE);     
    * o3 q" _  ]% T/ L
  33. 8 A$ g. X. L9 l) T# F4 w
  34.   /* Wait the ADRDY flag */) F. g! @* p: a, T& w
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY)); 2 S& Y; O6 W, N+ _3 b8 I9 n; @. `8 I

  36. , p6 ~" E, r8 Z4 t9 t7 y
  37.   /* ADC1 regular Software Start Conv */
    / }0 P+ e$ m4 x
  38.   ADC_StartOfConversion(ADC1);* g$ d! [* \: {8 D/ E4 Y
  39. & {0 n5 _  m6 \+ F) b% g
  40. }+ M. H7 C' F8 F  q

  41. & ?3 a- [' z& p% \4 v4 v6 V! R
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
    3 {& y- y' a0 P1 A$ Z! V
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码
3 b4 @" o: T/ ^
- y4 |7 w4 \8 b. h6 n4 ^' L. ?; u
9 k) ]% a. y- y+ b% X  j/ C5 [: h

8 X9 W5 G* d& G6 M4 M
收藏 评论0 发布时间:2021-11-23 21:01

举报

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