📄 uadc.c
字号:
/* uadc.c */
/* compile with: gcc -c uadc.c */
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#define DEVICE_OPEN 0
#define DEVICE_CLOSE 1
#define DEVICE_READ 2
char * FILES[8]={"/dev/adc0",
"/dev/adc1",
"/dev/adc2",
"/dev/adc3",
"/dev/adc4",
"/dev/adc5",
"/dev/adc6",
"/dev/adc7" };
#define CHANNEL_0 0
#define CHANNEL_1 1
#define CHANNEL_2 2
#define CHANNEL_3 3
#define CHANNEL_4 4
#define CHANNEL_5 5
#define CHANNEL_6 6
#define CHANNEL_7 7
int adc(int,int);
adc(channel_number,init)
{
char * filename;
int data_point,count=2;
static int fd;
unsigned char buf[3];
filename=FILES[channel_number];
switch(init)
{
case DEVICE_OPEN:
filename=FILES[channel_number];
printf("File is %s\n",filename);
fd=open(filename,O_RDONLY);
if (fd<0)
{
printf("Could not open device\n");
return -4;
}
else
{
printf("ADC Channel %d opened\n",channel_number);
return 1;
}
break;
case DEVICE_CLOSE:
printf("Closing Device\n");
close(fd);
return 1;
break;
case DEVICE_READ:
read(fd,buf,count);
data_point=((int)buf[1]*256+(int)buf[0]);
return data_point;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -