11. ADC操作指南¶
11.1. ADC的操作准备如下:¶
使用SDK发布的kernel。
11.2. 操作过程¶
插入模块:cv180x则insmod cv180x_saradc.ko, cv181x则insmod cv181x_saradc.ko。
在控制台下运行ADC读写命令或者自行在内核态或者用户态编写ADC读写程序,就可以对ADC进行输入输出操作。
用户层通过访问IIO接口来实现三通道,12-bit ADC的触发、采样等操作。
1.5v ref参考电压。
11.3. 操作示例¶
11.3.1. ADC操作命令示例:¶
步骤1:
指定ADC通道 1~6, 此例為ADC1:
(其中ADC通道4為量測VDDC_RTC專用; ADC通道5為PWR_GPIO1; ADC通道6為PWR_VBAT_
echo 1 > /sys/class/cvi-saradc/cvi-saradc0/device/cv_saradc
步骤2:
讀出剛才選定的ADC channel值:
cat /sys/class/cvi-saradc/cvi-saradc0/device/cv_saradc
11.3.2. 用户态ADC读取操作程序示例:¶
用户态ADC读写操作程序示例:
步骤1: 配置待操作的ADC信道编号:
fd = open(/sys/class/cvi-saradc/cvi-saradc0/device/cv_saradc”,O_RDWR
O_NOCTTY|O_NDELAY));
If (fd < 0)
printf("open adc err!\\n");
write(fd, “1”, 1);
步骤2: 读取ADC量测值:
char buffer[512];
int len = 0;
int adc_value = 0;
len = read(fd, buffer, 10);
if (len != 0) {
adc_value= atoi(buffer);
printf("adc value is %d\\n",adc_alue);
}
close(fd);