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);

                        
相关推荐
openHiTLS密码开源社区1 小时前
【密码学实战】openHiTLS passwd命令行:专业密码哈希生成工具
linux·密码学·哈希算法·ldap·密码策略·随机盐值
筵陌1 小时前
深入理解 Reactor 反应堆模式:高性能网络编程的核心
服务器
WTCLLB1 小时前
netgear r6220 路由器,刷openwrt后,系统备份还原
linux·网络·智能路由器·openwrt
迎風吹頭髮2 小时前
UNIX下C语言编程与实践38-UNIX 信号操作:signal 函数与信号捕获函数的编写
linux·c语言·unix
做运维的阿瑞2 小时前
Linux系统性能监控与故障定位实战:CPU/内存/I/O/网络
linux·运维·网络
驱动探索者2 小时前
车库到双子星:惠普的百年科技传奇
linux
阿沁QWQ3 小时前
MySQL服务器配置与管理
服务器·数据库·mysql
wanhengidc3 小时前
云手机能够做些什么?
运维·服务器·人工智能·智能手机·云计算
2401_865854883 小时前
腾讯云手机适用于哪些人群
服务器
啊?啊?5 小时前
1 玩转Linux命令行:基础文件操作实战教程
linux·服务器·基础指令