|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
stm32f072,rt-thread 4.0.3,在进行adc1的多个通道采集时候,发现读取顺序必须是11、12、13顺序。改变读取顺序无效,读出的值还是顺序的。
' R; z7 L8 O" D7 p, m) u9 B- T
* O5 w( v3 a% `5 V. j按照13、11、12的顺序读取,结果如下;$ h& ~' H$ G4 P/ F e: ]+ p
/ I6 W6 h& ^3 g$ {
rt_uint16_t value, count=0;
4 ~ H: |6 y' U2 D4 `rt_uint32_t vol;
; r9 _( F* t% d, c! o- C+ T" Mwhile (1)% p$ c/ @/ i/ \+ A
{ E( K3 b5 |( a
rt_thread_mdelay(2000);
! h) |3 ^/ S' K5 r' j/* 读取采样值 /
/ }9 V1 ]* o+ Dvalue = rt_adc_read(adc_dev, ADC_DEV_CHANNEL13);
2 W% ], n, i& c/ 转换为对应电压值,采样值为实际输入电压值的一半 /& X% H. ]8 u* H' _
vol = 2 * value * REFER_VOLTAGE / CONVERT_BITS;
0 v) R; X) Y* A' D6 X1 m6 x, X) m2 Urt_kprintf("the ch13 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);9 F1 |& w5 g8 F; e4 l/ ^
/ 读取采样值 /
) F0 W; F( i+ T7 F: Jvalue = rt_adc_read(adc_dev, ADC_DEV_CHANNEL11);
9 f7 c- a( e2 @( I/ 转换为对应电压值 /4 h# m) t: L, |3 v3 i5 L/ @
vol = value * REFER_VOLTAGE / CONVERT_BITS;2 j3 r4 m7 r/ }, ^2 S' l" E
rt_kprintf("the ch11 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);
' _" I7 I1 c, g6 H/ 读取采样值 /! s" Q, y+ z1 e
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL12);% x6 n0 t C! t# \ H
/ 转换为对应电压值 */
9 i! f$ F) k4 B) Kvol = value * REFER_VOLTAGE / CONVERT_BITS;
! [6 S. X2 K2 n' E) Z# krt_kprintf("the ch12 value is :%d, voltage is :%d.%02d \n", value, vol / 100, vol % 100);
3 Q- e6 [1 E( Hif (count < RT_UINT16_MAX)8 S% y* D' a( [5 N1 R4 S
count++;
, T6 P4 {3 Q% S b/ zelse
. J4 l- t1 A4 i( Vcount = 0;
. `6 w2 K& _! M4 A1 r |
|