PanGu开发板支持ADC功能,可以将需要检测的电压连接在指定的引脚上,就可以从ADC功能中读出电压值。
| ADC通道 | PanGu Board | i2M-GiantAxe扩展板 |
| ANA0 | J25.13 | J11.4 |
| ANA1 | J25.11 | J11.5 |
在Linux系统中,ADC采样属于IIO子系统下,可以通过SYSFS提供的接口来访问ADC控制器。
cat /sys/bus/iio/devices/iio:device0/in_voltage0_raw
1012
cat /sys/bus/iio/devices/iio:device0/in_voltage1_raw
1015
这里读出的值是原始值(raw_value),实际值还需要经过计算,计算公式如下
real_value = (raw_value + offset_value) * scale
获取offset值
cat /sys/bus/iio/devices/iio:device0/in_voltage_offset
0
获取scale值
cat /sys/bus/iio/devices/iio:device0/in_voltage_scale
0.050354003