嵌入式linux应用读写adc简单示例

1、先确认/dev/adc存在
2、打开adc文件
3、读取
4、转换量纲

adc.c

static int fd = 0;

int adc_init(char *adc_dev)
{
    
    
	fd = open(adc_dev, O_RDWR|O_NOCTTY|O_NDELAY);
	if(fd < 0)
	{
    
    
		 printf("[%s]:[%d] open adc file error\r\n", __FUNCTION__, __LINE__);
      	 return (-1);//exit(1);
	}
}

int adc_get(unsigned int *adc_value)
{
    
    
		int len,tmp;
		unsigned char read_buf[10];
		
		len  = read(fd,read_buf,sizeof(read_buf))
		tmp = read_buf[0] << 8; 
		tmp += read_buf[1];
		*adc_value = tmp;
		
		return 0;
}

main.c

#include <stdio.h>
#include  "adc.h"

int main()
{
    
    
	unsigned int x = 0;
	adc_init();
	adc_get(&x);
	printf("adc_value:%d\n",x);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/u010835747/article/details/108677980