|
读取ADC转换值; ?1 M a' \; x3 C# v
设置规则序列通道以及采样周期的库函数是:# F( Q& a' C ?
void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t: n5 B9 y* u$ \' ^' q/ ]: F2 I% g0 I. H
ADC_Channel,uint8_t Rank, uint8_t ADC_SampleTime);. \0 _) P. \+ W1 _) ?
( f" I; z' Y3 j' G7 Q- h5 q* {ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5 );( I+ e; _5 m: Y1 x, O( F
# ~+ _& }% G9 h% e
设置好规则序列通道及采样周期,接下来就要开启转换,由于我们采
( H5 \& S( K# o" ^% V. _4 u: C8 `0 s, M用的是软件触发,库函数
k2 @. C' g1 k9 vvoid ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
4 D3 o6 T+ i' f8 j% h t1 @/ _0 X: e! D9 L& u t. F
开启转换之后,就可以获取ADC 转换结果数据,调用的库函数是:
& `5 J0 c s% h' p+ H3 s8 z" `. Buint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx);
! _8 f$ L# R- N
3 @ B3 \+ m: V$ Z4 O6 C获取 AD 转换的状态信息的库函数是:
7 \6 Q# o1 ^$ F4 b6 w; I- j# h# @FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t
0 k7 u0 a' W: P; K1 B! lADC_FLAG);" s; H6 P J) R h9 a; m
3 u% ]' ?0 e! ~6 r' @. E
例如我们要判断 ADC1 的转换是否结束,方法是:: P) J( g, r9 h) |
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
/ n+ X6 Y1 p6 v/ @& ~. z4 r————————————————! @1 ?4 S4 ~1 l
2 i* l4 t6 E: n% S& C3 w7 F& t0 Z3 [' f
|
|