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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)( b3 D% I3 R5 p6 j' ?- c* p) ~. X, |/ S
  2. {
    7 {  C5 l7 U: g4 F; b& X
  3.   ADC_InitTypeDef     ADC_InitStructure;; f$ d  }- v3 N- |

  4. ) [; ?6 n/ w+ s" z! s
  5. 6 E7 D" y( w; }
  6.   /* ADCs DeInit */  % g  u% t! P  J7 ?: Y7 |! Z+ N1 k6 E
  7.   //ADC_DeInit(ADC1);
    , Q3 q4 }+ r5 v" ?8 B
  8. : L; D8 S7 ~3 m" v
  9.   /* Initialize ADC structure */
    ! L% h5 ?6 ?+ Q, t" O  `7 D, b
  10.   ADC_StructInit(&ADC_InitStructure);
    " d. Z6 s# L: G2 u4 f
  11. + L) z4 t/ y5 r8 `3 M  l
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */4 x( v5 V0 }2 q7 q0 l2 |1 K
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;0 S; H2 B' }. h; N  l
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; 8 ^9 D4 {( n2 Z: h8 O! _" t, j
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;8 V8 I; A# h! e  m. {+ m! I' S. J
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;$ D1 E; R0 M, {4 S4 r, X( J
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;/ i* ?$ b- V3 q6 b
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    : D& ?! x& c1 \2 E4 U9 Y& s% K9 _
  19. + w$ y) o. G; |
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  
    - b1 j, G' ]$ O0 k
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);' T2 }* D' }/ i$ [& \7 G$ j
  22.   /* ADC Calibration */" Q; k- A! j$ [9 r
  23.   ADC_GetCalibrationFactor(ADC1);
    3 c8 g. b' Y& X. F  Y

  24. 8 C, N2 d' D  q3 l! o4 Y
  25.   /* ADC DMA request in circular mode */
    + r7 `" B" S( B( X* k
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);' x" W4 X% I$ Y) o

  27. 3 x. Z( I2 j5 Q+ a6 ^4 {" j- c! g' T
  28.   /* Enable ADC_DMA */
    3 a0 C/ {' P( x8 i7 w5 V# n$ b
  29.   //ADC_DMACmd(ADC1, ENABLE);  . d/ d' g- F! ?! l# C! C
  30. 9 s' c+ \2 x0 D' y2 `% h" L
  31.   /* Enable the ADC peripheral */
    % h+ Y1 k: b$ q6 s
  32.   ADC_Cmd(ADC1, ENABLE);     
    : Z5 m4 P7 V5 [% _+ }( j8 V9 e
  33. & J7 m: }1 ^/ S. i: P( ^
  34.   /* Wait the ADRDY flag */) f! w& v2 {9 n9 V0 n3 r, c
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY));
    + C3 m$ m& b& d' r7 W) ~& d

  36. - ]/ @% Q) ]$ t+ p* Q4 ~$ V# X
  37.   /* ADC1 regular Software Start Conv */
    . ~! j$ Z$ y2 Z2 ~8 X
  38.   ADC_StartOfConversion(ADC1);
    , d& A8 a, W5 e1 z
  39. : Z/ U  h. d& L
  40. }1 Q5 ^: W6 Z1 X4 M
  41. 5 ~: w2 |% ~( ]1 ?( y/ n, R! f
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
      r3 |6 @9 M1 a0 H
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码

  i. q7 X* X: n8 }
3 J" ?, q0 H: t- @9 R& n, ~1 g1 _* p
1 @6 o; v% v6 z. S( V
) d3 J" _- I5 e  ~
收藏 评论0 发布时间:2021-11-23 21:01

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版