|
读取ADC转换值. P8 z0 A. F( q1 j M4 H
设置规则序列通道以及采样周期的库函数是:
. m' g: \: F8 d% Mvoid ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t* i2 [+ m4 H9 |8 u0 d4 o# f$ R' }9 y
ADC_Channel,uint8_t Rank, uint8_t ADC_SampleTime);% w: L) d) |- m, z9 c, v
7 K) q; o) v- D6 f% J% s/ z- `
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5 );- [- G" i# y6 d8 A6 J* ]& Q
) [' v: I" I" N" ~设置好规则序列通道及采样周期,接下来就要开启转换,由于我们采8 ]) \+ s$ q% {+ B2 t, T/ C1 X+ t
用的是软件触发,库函数% o! r- d( T c. C; S
void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
: z5 g& p! P/ N8 I
. V" G% y, d. G/ P- U开启转换之后,就可以获取ADC 转换结果数据,调用的库函数是:
& O9 Z( j+ S8 W6 T2 z8 y. ruint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx);& i$ c# @# g1 v: T9 C6 J2 W$ L
: F' x% C1 b0 t7 W* d% c2 ?4 t" @获取 AD 转换的状态信息的库函数是:7 t9 W' Q; [5 ]2 U8 _0 d
FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t! ^! a2 T4 Y+ ?
ADC_FLAG);
6 }% T9 @' l% `8 c
1 T$ b. r0 V7 ^. D. {( I例如我们要判断 ADC1 的转换是否结束,方法是:
0 B' ~" \: a7 vwhile(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
! R) O, Z$ Q! S% t$ P9 T+ i5 Y————————————————' S% I/ ?' V, r
& A6 V4 R3 O& o) J
# I2 o& t" [3 n4 [4 F |
|