首先确认ioctl使用方法,然后写代码:
#include <stdio.h>
#include <sys/ioctl.h>
#include<fcntl.h>
#define IN_PIN 0x0c
#define RESOL 0x0d
void main()
{
double value = 3.3/1024;
int fd;
int data;
fd = open("/dev/adc",O_RDWR);
ioctl(fd,IN_PIN,2);
ioctl(fd,RESOL,10);
while(1)
{
read(fd,&data,sizeof(data));
printf("data is %.5f\n",((float )data)*value);
sleep(2);
}
}