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

                        
相关推荐
invicinble4 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷4 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家4 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?4 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔5 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
绵绵细雨中的乡音5 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
HABuo5 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7775 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C6 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~7 小时前
Linux程序接收到sigpipe信号崩溃处理
linux