⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uadc.c

📁 _计算实用教程Visual C++6.0实用教程
💻 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 + -