|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
stm32f072,rt-thread 4.0.3,在进行adc1的多个通道采集时候,发现读取顺序必须是11、12、13顺序。改变读取顺序无效,读出的值还是顺序的。- R0 z- _8 L3 @
" r: H6 w! _% r. ~! Y按照13、11、12的顺序读取,结果如下;4 P% C7 c' D M! e! O
& G6 G' o' i/ r ]; V H3 V1 Q
rt_uint16_t value, count=0;: y) B* F2 e; |8 G3 B# D- I
rt_uint32_t vol;
4 j0 \; C! k0 F$ x" @while (1) q+ j' V2 j! F. f
{! O+ H5 b( f4 T* |
rt_thread_mdelay(2000);- U( u1 F ~. v2 f# ~/ g( a6 P
/* 读取采样值 /
0 J5 w4 ?5 N, D4 g0 O* Z+ Avalue = rt_adc_read(adc_dev, ADC_DEV_CHANNEL13);1 m' |. k% Q* |2 k8 j
/ 转换为对应电压值,采样值为实际输入电压值的一半 /9 g- v* M, R5 e3 `' `
vol = 2 * value * REFER_VOLTAGE / CONVERT_BITS;, u4 Y% F, n# M+ n' Q) ]# A' H
rt_kprintf("the ch13 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);7 d) z8 w1 W% j; b3 t" K0 v6 ~+ |/ j
/ 读取采样值 /- s" W7 ?! R1 _2 \' a! e2 U( t2 z
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL11);
[+ u* d2 j' M0 l' d/ 转换为对应电压值 /
# ?7 G D3 z- n5 A2 d. l! Pvol = value * REFER_VOLTAGE / CONVERT_BITS;
* d8 J. E. e5 `& z7 ]" g& @% Mrt_kprintf("the ch11 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);7 S8 d6 [ G+ [/ O! O. y, g
/ 读取采样值 /
- u" I- ^8 d! i% J4 |# P4 m! Rvalue = rt_adc_read(adc_dev, ADC_DEV_CHANNEL12);/ B/ P# E1 q# |; ~6 f, K
/ 转换为对应电压值 */; P' O- Z8 D3 V1 G5 Y! {5 k
vol = value * REFER_VOLTAGE / CONVERT_BITS;! l3 c! q: x8 F) a8 T9 ^
rt_kprintf("the ch12 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);6 l) s# a: ^' Y% }1 ?$ V' [4 {
if (count < RT_UINT16_MAX): v( ~! w4 G6 @0 q9 x+ O
count++;3 @$ `/ x7 e3 Z2 B1 s( K$ V7 D$ Y
else
7 x0 Q, G8 f. x/ L. Q% Rcount = 0;- u, R9 R$ b' j/ Z2 x" T% K
|
|