|
/****************************************************************************( Y; ?! {' P6 V6 B% @3 T
* 名 称: u16 Get_Adc(u8 ch)
# J' N9 ]& k4 N) [4 l0 e) \; d* 功 能:获得ADC值
7 a, w( _+ a, z x- [* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3! E# R1 K7 S: W( \
* 返回参数:12位ADC有效值; {' m' c8 |6 h; k+ Z
* 说 明:
) W9 i. D- u( A z7 E/ S****************************************************************************/
/ \* {2 [9 T7 @u16 Get_Adc(u8 ch)
/ A* T3 h$ x" {" M0 s{
" b8 W" W5 j" y2 Z; N' X+ R //设置指定ADC的规则组通道,一个序列,采样时间
7 `5 v4 H$ `+ Z2 R ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道,采样时间为239.5周期
" b7 Q8 I% e, q4 j7 k3 c0 J& D% N4 W- y
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
7 X# o" q+ R: d- e! a / p% }& L" W" d! ~# A6 u9 N
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
6 f" ^9 A [1 V* d0 ^+ z
) n7 R2 I u ~2 D' S% } return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果, H8 v* G$ z5 H, [3 t4 Y
}! O0 a; Q3 [( }6 |. W
) a' }0 }6 U# `) f: G8 A6 ]$ S
/****************************************************************************, W3 r! |3 ?$ V
* 名 称: u16 Get_Adc_Average(u8 ch,u8 times)
/ x' i# ?( z' F5 T1 l2 m* 功 能:获取通道ch的转换值,取times次,然后平均 % ]' l. r7 E8 ?0 s0 a' m
* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3
7 p) L* e H: H2 q* times:获取次数. O$ ?. q3 t3 [+ C
* 返回参数:通道ch的times次转换结果平均值
3 i/ F! q5 G& ?8 R @8 X5 K# q* 说 明:
7 e4 T1 s4 b: [+ s4 j3 B****************************************************************************/
" L, y( L% W9 }u16 Get_Adc_Average(u8 ch,u8 times)) S4 p$ s. P) e1 @
{
3 p5 x8 W& s$ U u32 temp_val=0;- F; t& z- N$ Q% ~
u8 t; Z* K% R2 u/ k/ a- N
for(t=0;t<times;t++)7 ~2 n1 I9 d/ b* j
{0 J) F% I: J( s# `' f* x& o
temp_val+=Get_Adc(ch);* s6 W4 |7 N+ S, d# ?% U7 m
bsp_DelayMS(1);
6 \* M6 E. Y) Q1 v }
' O. Z! J! U1 U! v( @8 K/ | return temp_val/times;
" \# Y& j" `; r6 b+ B b}
- ?5 t* X9 g8 X# ^6 `4 d5 |6 K( j9 `1 F0 P6 W
( R2 M! B, J4 X+ t' o- o2 Y
6 b6 G3 _2 ?% w/ V7 F0 D
2 |7 o! q0 {5 j- p l7 u8 n
& |$ y+ \ v* m+ [3 @; L. Z, s* b- F$ E
, Z4 Z6 |; {5 O6 y4 y$ R( K0 S
& _- }0 a7 J! p1 ]
: o8 m! V& L3 W* L
, m9 y& F4 a! E
( o8 c( F; }7 C* Z" F) I5 W; w+ v; M- @# e- y' `7 b- I
# z% L! S" o) k0 {& {* A6 f
1 `4 m) J7 p& Y# P$ n
5 t- s: Q1 w% \/ w4 k5 Q* s
. y L0 g {" @1 O/ _+ Q" a |
|