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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)+ f0 m9 Z, l, k# f) D) Q# ?4 r+ v
  2. {' j+ s+ P. C  h" D/ J) O% a
  3.   ADC_InitTypeDef     ADC_InitStructure;
    6 x' ?* Q! s' b. f: U  G1 t' ^1 `

  4. 4 M1 \! f% Z- Z- C

  5. : R) f5 D" e+ ~
  6.   /* ADCs DeInit */  . B8 w0 D3 ?; V
  7.   //ADC_DeInit(ADC1);4 ~9 D- `$ G( _' G) S$ r7 D4 U

  8. 6 C& I, c/ T6 @9 \0 r8 T6 {+ M" x
  9.   /* Initialize ADC structure */
    3 F9 q1 r- Q& `7 l
  10.   ADC_StructInit(&ADC_InitStructure);
    4 t" m( j1 a9 T) ~5 {/ ]( O/ h
  11. $ W$ a  f) b7 }
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */
    ) h! u; S+ T# A( z$ a; |2 w
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
    ) W# Q( _: b% i# I4 i+ N
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; " d5 P# w5 X/ r) i
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;; }0 ^1 |: F0 V" o1 ~6 k
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;6 e$ N4 B+ [0 x
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;/ m  o) L+ T1 ?9 \5 ]
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    & D0 s- q( I0 C, o! t* b
  19. ( w- Y" V' n# H$ R( k' n* M
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  5 y+ K$ }4 ^9 s( D) a! c
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);
    : D) N* M& J) W0 c* U  m* F9 C) O
  22.   /* ADC Calibration */5 S" y" R  f8 b/ ^1 Z
  23.   ADC_GetCalibrationFactor(ADC1);
    ) _7 `8 k. Q! }" \- c6 d0 {. G
  24. 0 s( [% ~6 e& d9 p1 R0 B' q" f" P
  25.   /* ADC DMA request in circular mode */( c, S9 J' M$ ~0 s& \" D
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);- d  s+ X6 S2 |' s9 M' }+ S
  27. + a! Y5 {' y) g. p5 l5 H. v' ^" S
  28.   /* Enable ADC_DMA */
    # l/ d) s0 y1 e! p5 i
  29.   //ADC_DMACmd(ADC1, ENABLE);  / d$ o& D6 f( |3 o* Q1 a5 V

  30. : u% r8 a9 x$ a
  31.   /* Enable the ADC peripheral */
    6 s- P8 [( h- L, Z
  32.   ADC_Cmd(ADC1, ENABLE);     5 T: j  V2 Q2 R

  33. 4 l& ^5 _3 e8 ~- ]) z/ \" W+ a5 u
  34.   /* Wait the ADRDY flag */
    , s2 N+ r/ ?0 {& n
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY)); ; ?% f, j$ P* r: J" o' `6 [
  36. + w( _% [7 q$ {  u7 P
  37.   /* ADC1 regular Software Start Conv */ 7 b+ c, {9 b/ H; O7 `. y6 s  M- ~0 d
  38.   ADC_StartOfConversion(ADC1);+ ?) v' [' g& Y2 u8 z
  39. ; L2 Z  ?: a5 W
  40. }
    ( x1 Z- X( H6 g+ ^; M8 [
  41. ; p2 v3 s8 H0 `# Q: Z2 ]
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
    . L$ [3 s6 @2 N) Z) ?. x# J
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码
/ l# a( p. L4 ~9 |  S* a

& o4 M4 Q( a. u2 s% c/ [8 p3 T5 m, T' B  }
4 E# i( a' |5 A
收藏 评论0 发布时间:2021-11-23 21:01

举报

0个回答

所属标签

相似技术帖

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