LINUX ADC使用

监测 ADC ,使用CAT 查看:

LINUX ADC基本使用

c 复制代码
&adc {
	pinctrl-names = "default";
	pinctrl-0 = <&adc6>;
	pinctrl-1 = <&adc7>;
	pinctrl-2 = <&adc8>;
	pinctrl-3 = <&adc9>;
	pinctrl-4 = <&adc10>;
	pinctrl-5 = <&adc11>;

	adc-channel = <6 7 8 9 10 11>;
	status = "okay";
};

检查对应adc-channel的值

程序中读取

原文链接:https://blog.csdn.net/qq_34430371/article/details/104471673

c 复制代码
#define   SYSFS_ADC_DIR   "/sys/bus/iio/devices/iio:device0/in_voltage0_raw

FILE  *fd=NULL;
fd=fopen(SYSFS_ADC_DIR,"r");
c 复制代码
fscanf(fd,"%s",a);   //读端口的ADC值
printf("%s",a);    
if(strlen(a)==4)   //将字符合成数字,然后转换成对应的电压。
{
    x=((int)a[0]-48)*1000+((int)a[1]-48)*100+((int)a[2]-48)*10+((int)a[3]-48);
}
else if(strlen(a)==3)
{
    x=((int)a[0]-48)*100+((int)a[1]-48)*10+((int)a[2]-48);
}
else if(strlen(a)==2)
{
    x=((int)a[0]-48)*10+((int)a[1]-48);
}
else
{
   x=((int)a[0]-48);
}
adc=((float)x/4095.0)*1.8;
printf("      adc=%4fV\n",adc);
fclose(fd);
sleep(1);

                        
相关推荐
程序员JerrySUN1 分钟前
驱动开发硬核特训 · Day 19:字符设备驱动实战(控制 LED)
linux·驱动开发
小灰灰__17 分钟前
Linux安装ffmpeg7.1操作说明
linux·运维·服务器
猿周LV21 分钟前
网络原理 - 应用层, 传输层(UDP 和 TCP) 进阶, 网络层, 数据链路层 [Java EE]
服务器·网络·网络协议·tcp/ip·udp·java-ee
互联网搬砖老肖24 分钟前
运维打铁:Centos 7 安装 redis_exporter 1.3.5
运维·redis·centos
Zz_waiting.26 分钟前
网络原理 - 9
linux·服务器·网络·网络协议·tcp/ip
你又食言了哦41 分钟前
linux下使用wireshark捕捉snmp报文
linux·网络·wireshark
BXCQ_xuan1 小时前
Typecho博客网站头部SEO优化完整指南
运维·服务器·数据库·php·web
fyr897572 小时前
Ubuntu 下编译goldfish内核并使用模拟器运行
android·linux
鱼饼6号3 小时前
Jenkins Pipeline 构建 CI/CD 流程
linux·运维·服务器·ci/cd·容器·jenkins
努力做小白3 小时前
Linux扩展
linux·c语言·笔记