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

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

[复制链接]
STMCU小助手 发布时间:2021-11-23 21:01
  1. static void ADC_Config(void); [# k) u6 y8 l
  2. {
    * t2 q1 k6 u' z- I, w2 k/ I
  3.   ADC_InitTypeDef     ADC_InitStructure;( q* V; F+ a/ N4 d+ i# p

  4. ( }7 o! s6 e" n& p$ g
  5. 9 A$ K. @  ?( L8 J# N, j! d1 a0 e: h  H
  6.   /* ADCs DeInit */  
    7 y$ O3 X5 u; R' ]* O) U& A
  7.   //ADC_DeInit(ADC1);
    / m  Q' t) t4 G% Y) d+ a

  8. # P% G; \: L- J2 E
  9.   /* Initialize ADC structure */
    ; ?* j& k, o& ?' a
  10.   ADC_StructInit(&ADC_InitStructure);4 [, S4 `% ?' @, q! w( A) O
  11. ; T. m5 v( H2 k! o; D
  12.   /* Configure the ADC1 in continuous mode with a resolution equal to 12 bits  */5 z' U" N) C0 g! S3 l
  13.   ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;+ s/ a* h. Z/ h
  14.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; ! d5 q1 ]3 d; v  a7 |
  15.   ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
    + f7 _# F: |" \* {
  16.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;& w9 x. r9 _2 L3 }9 O
  17.   ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
    ( y4 G* h) `) h: `$ D) a4 N# F
  18.   ADC_Init(ADC1, &ADC_InitStructure);
    # M4 E) w7 K- X2 U- ?( B: Y; }% J9 }: d

  19. & l; j4 `4 O' U4 ]" ]# j2 D0 R
  20.   /* Convert the ADC1 Channel 9 with 239.5 Cycles as sampling time */  - V3 Y( W% m" s9 S
  21.   ADC_ChannelConfig(ADC1, ADC_Channel_9 , ADC_SampleTime_239_5Cycles);
    : B0 n( c+ ~+ ?+ B) q: E: i# W; z: l
  22.   /* ADC Calibration */
    " w; e( X$ G* V' Q3 z& p
  23.   ADC_GetCalibrationFactor(ADC1);# e' D) P3 [- n* u6 i5 P

  24. " T1 K: C1 W/ p: z9 z- S% D
  25.   /* ADC DMA request in circular mode */5 {. O9 z/ J# A* v& S
  26.   //ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);4 K" ], C$ o, o) ]

  27. & z1 k8 l! C3 z- I" P1 I
  28.   /* Enable ADC_DMA */
    ) ?# P# p* N+ U6 a; H% n1 V
  29.   //ADC_DMACmd(ADC1, ENABLE);  
    " Z! N* G* N. N3 l3 T  B! v8 M
  30. ( }7 K) ^. r6 N5 u& M7 b1 f
  31.   /* Enable the ADC peripheral */
    5 `9 ?, L3 ?' u; T/ u
  32.   ADC_Cmd(ADC1, ENABLE);     
    $ n% _1 h7 x# N* e
  33. 8 z1 n( T) ~, ~  R3 T
  34.   /* Wait the ADRDY flag */
    5 u; g6 T, s3 j7 x) d; W
  35.   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY));
    7 n. K# u% W8 t2 S9 j. m
  36. , y% ]7 O4 P( j0 ]) U6 W
  37.   /* ADC1 regular Software Start Conv */
    / f/ v' z3 r/ `8 q% ^/ [
  38.   ADC_StartOfConversion(ADC1);
    : U6 _" ]: H9 u+ Z
  39. , \- V& T2 q' {) Z
  40. }
    # H3 n3 ]3 |7 ^% k! g1 ~3 ~* A
  41. 6 R8 ?4 C6 `; V2 s3 L
  42. while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束  q# H: ~% G, p
  43.       _adc=ADC_GetConversionValue(ADC1);
复制代码
0 d0 i. P/ Y& X& q* W

" r/ b5 p/ D* D8 x1 f
4 R! U8 u1 R! \1 u) k3 n# A( y0 Q( z2 t& u6 y6 a% O
收藏 评论0 发布时间:2021-11-23 21:01

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版