|
读取ADC转换值6 v, k7 P c( m
设置规则序列通道以及采样周期的库函数是:. E5 @; z; r$ O$ |4 i( ~0 c
void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t
4 i6 U+ D; R8 M2 r; y% r! S( \ADC_Channel,uint8_t Rank, uint8_t ADC_SampleTime);
}: w' k4 W! D9 d
- Z6 |# D* \/ p' P$ wADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5 );
% H$ j& p2 p, ?" V, K" o/ J6 y% X8 Q( S* D
设置好规则序列通道及采样周期,接下来就要开启转换,由于我们采3 C7 Q( _- @8 j
用的是软件触发,库函数! h9 K# \6 G, j
void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
B, R* Z' W0 z, u6 Z6 ]
" U3 Y, q, W' c' P; b* G$ S/ y H0 c开启转换之后,就可以获取ADC 转换结果数据,调用的库函数是:
4 E# A$ i$ x h4 M Iuint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx);
8 |1 V1 O4 L5 e* ^* L2 ?
. w, y! t- `1 N' v! X, b获取 AD 转换的状态信息的库函数是:8 ^' k* I! U/ M* F+ I
FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t
X: l3 D) T. h. B+ R& {- HADC_FLAG);
% q" s8 {1 r& N+ X
' [8 z6 m' d. t例如我们要判断 ADC1 的转换是否结束,方法是:1 ?, U: B, a: a8 y
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束% V. H! G! T( v l% S& \) n! T
————————————————
$ w( b: S; ?8 s
: Y# |" ?$ f& Q! i+ G5 t; j: A6 S5 C' ^- G% `- z; I n: Y
|
|