|
/****************************************************************************
6 Q( u' A: l) C8 w: f* 名 称: u16 Get_Adc(u8 ch)
$ n5 b( {0 c1 E& z4 X+ ]6 H+ j* _' e* 功 能:获得ADC值
4 m. q }! {( w$ I! h1 Q* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3: U$ b7 I$ B2 e2 [6 B
* 返回参数:12位ADC有效值
5 q- O8 ?% l4 C* 说 明: 9 y6 l- N5 m% Q7 i X& W% K% e
****************************************************************************/5 B5 l3 ~) `, x& O0 Z9 k; s; S
u16 Get_Adc(u8 ch) ! L9 j* g- S* R8 V
{
% G% g7 Z# M# x3 C q; Y //设置指定ADC的规则组通道,一个序列,采样时间
9 v9 i8 s3 j7 d ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道,采样时间为239.5周期 3 R# h9 X/ d! V8 r* c0 _3 |
$ M4 d0 p7 L7 K ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
4 k" d% g: q# l2 T & O% j$ H/ C# A0 h8 Q9 \
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束$ H: v) ^, n5 l5 _, x
/ I) A7 b2 a+ A# w return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
- Y- q% Y4 r# T9 H* f}* d1 s/ U( ^0 i, g
; Z& E# d: N9 L1 i" j/****************************************************************************& i1 U2 {8 o H- T
* 名 称: u16 Get_Adc_Average(u8 ch,u8 times)
9 V9 r* d' O& C$ }. r h* 功 能:获取通道ch的转换值,取times次,然后平均
5 }% h; H. n2 g* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3
! w; L9 O' n* z' ]0 H' w8 C1 l) c* times:获取次数/ u9 T# j, m# C% w; k" a
* 返回参数:通道ch的times次转换结果平均值
! E* Z4 G' l; q& q1 d2 D* 说 明:
8 a. F4 W3 p( w, Y% S! |****************************************************************************/8 h2 e g4 y& |" g
u16 Get_Adc_Average(u8 ch,u8 times)1 |5 @# C5 h! o; {, r0 A o
{$ P, ]' V) M/ v' s4 d. g
u32 temp_val=0;
; h: V& j9 z% z" u u8 t;
( I* z' n: \1 V1 D for(t=0;t<times;t++)
2 k0 @7 k# B* g3 ]+ D {! c& ^$ ^4 H v; ]% s/ c/ m# V
temp_val+=Get_Adc(ch);0 q" t6 } n o4 ~, Z+ ?9 J
bsp_DelayMS(1);3 ^% V2 u+ h6 s$ w
}: v8 k0 |7 V4 g. E7 R. H3 Z) O0 r
return temp_val/times;
5 X/ K$ @( P$ N. u, H! ~% E} - m! @, `, v9 A( C T; M2 K; L
# G; h! F" p- t1 r2 ?
8 q# h, v. V$ B( z
' m+ l( R, z! r" |+ |7 A$ P9 T
% p/ y) V$ \: s" Z/ ?6 N2 m ]' N! m0 w; K4 _' Y9 a" A
* Z0 G, h3 B' B8 E" H3 V# ^4 {& ~
8 H. V2 c% _* [, k6 E
$ h7 o: C7 r, N' j) z* g
- M$ \1 n, S _$ K- Q# O: _; o6 b2 m' v) M+ w
6 N, t" w6 g' c, Z
- K5 E; E; S' U5 U4 ^+ U
6 g! g# d2 I! A3 P9 M! A+ r/ D; M/ S
/ e' V9 p8 a: N# d- m: K1 @
) |0 e4 s; j: G |
|