现在的位置: 首页 > 综合 > 正文

mini2440adc测试程序

2013年11月16日 ⁄ 综合 ⁄ 共 947字 ⁄ 字号 评论关闭
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

void delay(int times)
{
    int i,j;
    for(i=0;i<times;i++)
       for(j=0;j<400;j++);
}

int main(int argc, char **argv)
{
    int fd;
    int chanel;
    int ret;
    int set;
    int data;
 
    fd = open("/dev/adc2410",O_RDWR,777 );//打开设备
    if(fd < 0)
    {
        printf("Open ADC Device Faild!\n");
        exit(1);
    }
 
    printf("please input the chanel 0-3"); 
    scanf("%d",&chanel) ;//输入哪个通道
    while((chanel!=0)&&(chanel!=1)&&(chanel!=2)&&(chanel!=3))
    {
    printf("please input the chanel 0-3\t"); 
     scanf("%d",&chanel) ;
     if(chanel>3||chanel<0)
     {
      printf("the chanel is erro");
     }
    } 

    write(fd,&chanel,1);//把通道数写到设备
    delay(10) ;
    printf("the chanel is %d\n",chanel);
    
    while(1)
  {
     ret = read(fd, &data, sizeof(data));//读出转换的数据
       
     if(ret != sizeof(data))
        {
         if(errno != EAGAIN)
            {
             printf("Read ADC Device Faild!\n");
            }
     
        }
        else
        {
         
   printf("Read ADC value is: %0.2f\n",data/1241.2121);
  }
      lseek(fd,0,SEEK_SET);
  
    }
  close(fd);
    return 0;
} 

抱歉!评论已关闭.