|
/****************************************************************************- t' S" B) |) l3 A% J
* 名 称: u16 Get_Adc(u8 ch) ) i/ r( {7 r* ]9 c4 h
* 功 能:获得ADC值
! L _' I# t8 J* w- V* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3
u( x, T+ Y7 w3 b* 返回参数:12位ADC有效值$ }! }1 t! G* x O0 I4 f4 P( Z' x
* 说 明:
9 y6 }8 C8 B! g; b6 ~) S****************************************************************************/
+ o; F1 p; b7 h4 y: u$ w( Su16 Get_Adc(u8 ch)
# W& D. r. u, w& y5 ?{7 Q4 K: z% d: ]8 {' i. ^% p) H
//设置指定ADC的规则组通道,一个序列,采样时间
, I! z' C% ~4 ]+ } ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道,采样时间为239.5周期 , e# F& g) m* t3 I2 K( o
d7 N3 a3 k' E1 q7 e" W" J ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
4 }) h I& R, Q+ X
! L7 j1 u' ~. n/ i while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
" s. w1 L+ l4 Q) {! I1 D3 P1 g+ L# ^% c( c" [
return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果7 u/ v) t$ G& w; [
}
' G6 f* X$ \; h3 s- P0 v$ U8 G4 I c5 g
/****************************************************************************
* l! Y* H9 O) H7 f: ^9 B V* 名 称: u16 Get_Adc_Average(u8 ch,u8 times)
0 P* {5 N& {. v9 E6 H& F- D* 功 能:获取通道ch的转换值,取times次,然后平均
. w" a3 n2 ~9 {, F* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3
\4 E6 x( W" Z0 g1 H( M* times:获取次数
% q" @0 R6 O/ ]: R% E# f& B! j* 返回参数:通道ch的times次转换结果平均值
& A6 u0 K' ?5 b. [' _* 说 明: 3 W$ M# F% ^) ~4 Q
****************************************************************************/
2 z, r8 Q8 J1 d' C- ~6 T- ~u16 Get_Adc_Average(u8 ch,u8 times)
7 b8 z. Y+ @+ r d4 O% Q. t{
4 q5 W O" q$ @# }$ n u32 temp_val=0;
! k8 I8 ~# _2 f( Y. Z u8 t;
8 T: r4 Z/ ~% X/ x for(t=0;t<times;t++)
' O( x: T6 L( Y4 R! A6 x {/ V0 P0 S& e8 ?
temp_val+=Get_Adc(ch);
4 d z! H( t C bsp_DelayMS(1);* y/ C/ _( P/ y2 H
}% w/ _' B! r1 D( w4 M" ?5 `
return temp_val/times;6 ~: b7 o9 |6 u4 j) t
}
- D6 q+ d& z0 Y% ~$ |% |( e9 x- N, A& e" Z! T: _
$ P6 N( ~1 z! p2 l
1 {, g- D4 H1 I1 j$ F- V$ n, u& J' g. n7 h s- R
9 u/ w5 K8 J8 m; Z! D+ J' Z) \" K! m2 i
$ \$ K& c' Q4 o0 b7 J: B( N5 v, K; C$ q$ Y5 A6 p% a7 ^, c6 @
Y o. k' V) j. v! b! h
. `# U" X: a- `& c* F1 k1 [
8 ?0 @1 Q0 Z2 m
9 C; U0 c: W2 v8 B; g4 n# {1 W: A1 D! }: `6 C4 B% N4 `5 N
# U5 N9 q5 m/ P9 c+ C. b9 _8 L! X- W5 c" \; c0 S+ \! J! H
. E! W5 g! j2 {7 I9 ] |
|