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

                        
相关推荐
晴天的雨.9926 分钟前
【Linux】make & Makefile 核心知识点
linux·运维·服务器
不吃鱼的羊17 分钟前
如何建立高自尊
java·服务器·前端
Zevalin爱灰灰17 分钟前
Linux入门第一部分(Ubuntu入门篇) 第三章 shell脚本入门(一)
linux·ubuntu·嵌入式
丘山望岳19 分钟前
Linux基础指令入门篇
linux·运维·服务器
笨笨饿23 分钟前
#143_屏幕画撕裂的问题及解决方法
linux·stm32·单片机·嵌入式硬件·mcu·lvgl·嵌入式实时数据库
想做小南娘,发现自己是女生喵27 分钟前
LAN Device Monitor 第二周学习文档
java·服务器·数据库
小年糕是糕手31 分钟前
【AI】用 Python 做一个 AI 截图检索助手:把收藏夹里的截图找回来
linux·人工智能·python·chatgpt·agent·codex·deepseek
hhhjhl37 分钟前
Zod 跨端三方库仓颉适配全流程
linux·运维·ubuntu
翔云12345638 分钟前
Gaea(小米MySQL Proxy)整体架构
运维·数据库·mysql
程序员清风41 分钟前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器