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

                        
相关推荐
新时代牛马16 小时前
PCI与PCIe 硬件原理、配置空间/BAR 与 Linux 驱动完整篇:从 LTSSM、TLP 到 ECAM 与probe
java·linux·服务器
两点王爷17 小时前
解决 Linux 中 version `CXXABI_1.3.8‘ not found 报错
linux·运维·服务器
xx~t17 小时前
嵌入式——51单片机1
linux·c语言·单片机·嵌入式硬件·51单片机
啦啦啦啦啦zzzz18 小时前
利用RAII机制进行日志的采集
linux·服务器·c++·网络编程·c++20
0+11118 小时前
Linux --线程概念与控制
linux·运维·服务器·jvm
nLif18 小时前
基于GTK的简易MFC对话框兼容层 -- MfcToGTK
linux·c++·mfc·gtk
宽海智能仓储物流18 小时前
航发自动化立体库异构系统改造:宽海智能30天联调技术全解析
运维·数据仓库·自动化
鹤落晴春19 小时前
【K8s】从 ConfigMap 到 Argo CD:Kubernetes 配置管理链路
运维·云原生·容器·kubernetes
2601_9494999419 小时前
DT‑1414PTZ如何百分百兼容(安华高)HFBR‑1414PTZ
运维·网络·人工智能·科技·光模块
fengyehongWorld19 小时前
Linux 安装frp实现内网穿透
linux·运维·服务器