|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
stm32f072,rt-thread 4.0.3,在进行adc1的多个通道采集时候,发现读取顺序必须是11、12、13顺序。改变读取顺序无效,读出的值还是顺序的。
; ]( n, V7 E2 s" d1 E2 [: F' L- G1 D, ~1 f
按照13、11、12的顺序读取,结果如下;# R4 s# c4 j- c2 I
( n7 ]7 t& l- A t
rt_uint16_t value, count=0;
9 x- ] R' Y- |+ K+ z9 |4 frt_uint32_t vol;/ }, c9 a% S: H/ D: r* Y
while (1)
7 S) o" W' F1 O{
r+ e$ g6 Y5 Q( Jrt_thread_mdelay(2000);+ F3 q- \) S, i+ @7 D7 J
/* 读取采样值 /+ @$ Y; B2 |) \9 z, i1 B/ _
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL13);1 J$ l# | Q% @7 L' j% k
/ 转换为对应电压值,采样值为实际输入电压值的一半 /0 |3 H W. H% }+ R) f
vol = 2 * value * REFER_VOLTAGE / CONVERT_BITS;
* i6 p: v/ ?7 q) M; l% m( krt_kprintf("the ch13 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);
. k0 ~6 b( ]# i. y J+ `* g/ 读取采样值 /2 X% X) G& ]3 X- }) \
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL11); P2 G. H5 U% u- H- X' T5 h
/ 转换为对应电压值 /
, M/ o* v* j! T( Z5 q/ Ivol = value * REFER_VOLTAGE / CONVERT_BITS;0 _9 T0 Y, L6 l2 T* g5 u! E) w2 D
rt_kprintf("the ch11 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);' S7 g; R! B* P1 |0 D
/ 读取采样值 /
9 o: I$ m. q2 ivalue = rt_adc_read(adc_dev, ADC_DEV_CHANNEL12);- E' J% i$ m$ h
/ 转换为对应电压值 */
: w. b2 y& t% ?5 L& l7 pvol = value * REFER_VOLTAGE / CONVERT_BITS;3 ?- j" W( n/ i2 e" t' O0 d
rt_kprintf("the ch12 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);! C$ N! O, O0 m# \1 X+ z
if (count < RT_UINT16_MAX)0 b! H5 |; }& T" w Q7 P; o# K
count++;
/ t1 W6 q) i& aelse# [1 y/ K( ]3 \# e8 i a1 E+ _, h
count = 0;
}, z }! Z4 O: Q4 K X |
|