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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void)& n9 s$ l( h  E1 x) \3 r
  2. {0 [, p. W6 D4 |
  3.   ADC_InitTypeDef     ADC_InitStructure;
    ; R; J# S+ h' _2 W3 ?, y2 y

  4. ) ~5 K+ Q. l, V/ E. @9 o

  5. * p8 J0 M$ V1 N4 Q. }, W3 _, v
  6.   /* ADCs DeInit */  
    , J5 z6 z5 j( J( f, u1 B
  7.   //ADC_DeInit(ADC1);9 S' b4 u4 @$ K4 ^* n% \0 B
  8. $ U+ ^* S+ y: \( J- j
  9.   /* Initialize ADC structure */
    - r( x, M. |& [) |9 U/ {/ Q1 e; g
  10.   ADC_StructInit(&ADC_InitStructure);
    ; I( V0 @% [! l+ W
  11. 8 [* E' M# c3 Y
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */
    ; k. v4 B8 Y9 C* f% b3 T
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
    % c9 m$ W% F+ {9 N
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
    3 r# c3 ?/ C7 C& C% g
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;! d) s5 g3 J# K6 ^
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;# W6 k! n" ?4 U5 m7 E% b" s
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
    2 k4 N  d& u" ]! X( d: x2 `
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    ( |8 |$ g) R: c2 _$ ]9 g2 v

  19. 4 P, d. N3 q) C! M
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  
    ! m5 E, Q: d9 k& Z
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);
    / a' P0 S/ ]$ n2 }& }8 p: H
  22.   /* ADC Calibration */
    " `3 U6 f9 A' o, @/ g
  23.   ADC_GetCalibrationFactor(ADC1);% E  c2 {! h) F2 @/ y$ F

  24. 1 y5 b( U  T  x" a5 G4 C
  25.   /* ADC DMA request in circular mode */
    ) T# @7 r) _- b0 w  |2 z
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);
    8 Y# d7 d9 C. C

  27. ' U! E# c3 f& [  {  u# E
  28.   /* Enable ADC_DMA *// A% _. S! o* Z# b
  29.   //ADC_DMACmd(ADC1, ENABLE);  
    . ]# i7 u8 Q& Q" S

  30. 8 M( p- B# {- `3 ?  T
  31.   /* Enable the ADC peripheral */7 j) h& c& F3 s  h9 M
  32.   ADC_Cmd(ADC1, ENABLE);     * O1 v( `; Y# F+ P
  33. 5 `( I: B( u/ ]
  34.   /* Wait the ADRDY flag */" m+ r9 M0 O' s* k) Y- d+ z7 n. V% u
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY)); ' r" B& x- K5 y5 a. i2 q$ u

  36. 4 E; I1 ~0 S# `+ K6 @$ Y  ?6 k
  37.   /* ADC1 regular Software Start Conv */
    + U4 D9 _9 H  b2 I
  38.   ADC_StartOfConversion(ADC1);
    & x  j# b+ |) Y0 R3 _9 S
  39. . P, u& h) E, I. `" X+ N. w
  40. }
    , C; ~& w! I; @0 g

  41. 7 |( ]$ v: }  r* H
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束3 A' A  ?0 ?6 [5 M2 ^- c: n
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码

; A* z$ b! `6 U5 S
! G5 k0 \7 p/ ^5 {- m: p" X3 [/ Y5 t* k7 Q5 s' J/ h4 z

% I# J8 M, D: T: B0 o/ s) I
赞 收藏 评论0 发布时间:2021-11-23 21:01

举报

0个回答

所属标签

相似技术帖

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