|
|
/****************************************************************************5 w- h: Q9 M5 A! a0 J/ w+ u
* 名 称: u16 Get_Adc(u8 ch)
8 O! c9 \! q! s* 功 能:获得ADC值
: A2 U2 d0 [6 a/ B3 D# y" ^* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_3
8 `" T5 d) n( p! M2 `. r* 返回参数:12位ADC有效值) E2 K& o, W8 r8 s2 I* \2 c8 A
* 说 明: 1 } t6 [! j, P1 z
****************************************************************************/) a2 z b! G) t# X: o' r
u16 Get_Adc(u8 ch)
) F9 x' ]; W5 w; t# R{
. @8 n. N% Q5 s5 s1 n //设置指定ADC的规则组通道,一个序列,采样时间, ^2 s6 Z" h9 f8 r8 x6 T
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道,采样时间为239.5周期 , T9 ~, j- Z, a! L/ G0 }
7 K, N1 o0 D: ~# T ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能 6 g" p3 X/ b7 Z
- a7 B# m% @' | h
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
3 e. `" w6 N$ T6 w- m/ S0 c
) }; s: j7 G7 `/ c6 \ return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
4 E% ]( d) f5 @% `7 T}. p5 H4 @, j0 d# _
0 J$ ]1 a4 O+ o! o9 G+ e
/****************************************************************************2 h2 o- w8 X: R: G( L2 W
* 名 称: u16 Get_Adc_Average(u8 ch,u8 times) 9 x \3 |5 F5 C
* 功 能:获取通道ch的转换值,取times次,然后平均 5 H8 d/ u6 {$ A* W1 g; r
* 入口参数:ch: 通道值 0~3取值范围为:ADC_Channel_0~ADC_Channel_37 |' E. _3 g% ^0 V
* times:获取次数. X+ M( \' V, t
* 返回参数:通道ch的times次转换结果平均值( R. w( q, @6 b C: {
* 说 明:
- t! K) ~, L+ s: n0 M! k: _****************************************************************************/! Z- }' F$ V7 G0 f: [# }) U
u16 Get_Adc_Average(u8 ch,u8 times)4 \+ ~* k' d w) }
{
/ Y. X! X1 v8 |. L6 d ~4 @ u32 temp_val=0;
1 d" }6 V: o8 d# |; i( E5 f u8 t;# \+ [5 M. d, w! Q4 {0 K& ]. v
for(t=0;t<times;t++), |" ]: B5 D4 ?
{9 |$ n; T6 k' U" }% F
temp_val+=Get_Adc(ch);& g/ L& p* o" f; Y( b3 X4 N
bsp_DelayMS(1);- w8 D9 N5 ^2 [1 g
}
# G: c! i6 c5 L. O. v \8 F return temp_val/times;
" G$ Q' J' M Z8 T} # v9 G! n7 f" U- X; U9 |# u1 @
4 d: p4 Z o1 o! q% s$ G9 q8 Z
, `. L$ x! Z8 N, X `
$ t/ W* l5 v# z/ c- z1 ^2 g6 h! Q4 x9 P
7 k7 j! w3 O. b; h3 n
/ K, y' [7 s5 B# @% l
" H* q* _. @# j: L! G. ^" a R$ u, ^! v
1 V' U# G; W4 S& m) Z: V
7 l8 q% F: R9 E
; `- C" p; S& R5 N
& m p4 h; T, ^8 Z1 e
: a# E: e* i- \0 o
/ F- ]0 u% |& J0 g7 ?$ c4 Y3 }" \; \' i3 g
- q: b2 g3 \8 Z& r5 k |
|