|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
stm32f072,rt-thread 4.0.3,在进行adc1的多个通道采集时候,发现读取顺序必须是11、12、13顺序。改变读取顺序无效,读出的值还是顺序的。 S+ @" F6 T" K+ A! p, S
& ?* I c+ h. b* X按照13、11、12的顺序读取,结果如下;; x, [) S" n! h! Z4 a
, Q1 H. z, o K' o# P2 e
rt_uint16_t value, count=0;
, Y% D& j- K. k# f7 nrt_uint32_t vol;: t. u$ Q5 }% U$ R; x% C
while (1)+ z7 T( x" U n: T/ ^: [
{8 h6 O) j9 d8 ~
rt_thread_mdelay(2000);8 a4 l9 j1 Q+ `4 x) [$ E# j& ?3 z
/* 读取采样值 /3 ~6 \! N2 d2 M0 L1 U
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL13);
/ n# W, d- E" U" @/ 转换为对应电压值,采样值为实际输入电压值的一半 /, Y H5 y( o2 i
vol = 2 * value * REFER_VOLTAGE / CONVERT_BITS;
, l* c! P* {( e9 d$ q# N, U) Drt_kprintf("the ch13 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);
" J! R/ f. Y* x w, V9 F) D( U/ 读取采样值 /6 y7 d3 b- I J w* S5 r7 ?
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL11);
4 E" C0 |5 ~; W& m6 `4 d/ 转换为对应电压值 /% W1 [ i% ]: K3 L
vol = value * REFER_VOLTAGE / CONVERT_BITS;
4 a, b9 U( @6 C5 O. vrt_kprintf("the ch11 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);
/ [( V9 h3 N+ N/ 读取采样值 /& l3 p3 ^3 H: _1 [+ c" P% d+ c" C
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL12);( W% {- R3 j; ~: o. E: q( T5 ^
/ 转换为对应电压值 */( K0 n. k0 F# C& b6 G0 p4 Z
vol = value * REFER_VOLTAGE / CONVERT_BITS;3 t( `# F9 G0 a u
rt_kprintf("the ch12 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);$ X4 I+ t c$ }
if (count < RT_UINT16_MAX)0 s( |+ `! F& W8 m ^! r4 Y7 N3 Z# a
count++;9 B3 Y+ u% C2 E. F
else, c O" J/ D2 M1 G4 ]0 B* i( T
count = 0;
% |- q7 D, N$ n+ ?! ~: n. o |
|