linux adc读取应用

linux adc读取应用

1原理图

image.png

2设备节点

image.png

3控制代码

#include <stdio.h>



//文件操作函数头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>


int main(int argv,char *argc[])
{
    char *adc_path="/dev/adc";
    int fd,len;
    char read_buf[512];
    int r;
    memset(read_buf,0,sizeof(read_buf));
    
    if((fd = open(adc_path,O_RDWR|O_NOCTTY|O_NDELAY))<0)
    {

        printf("open adc err \n");
        exit(1);
    }
    
    if((len=read(fd,read_buf,sizeof(read_buf)))<=0)
    {
           printf("adc read err \n");
        exit(1);
    }else
    {
        r= atoi(read_buf);
        r= r*10000/4095;
        printf("adc value is :%d \n",r);
        
    }
    
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容