[评测分享]
【米尔-STM32MP135入门级开发板测评】米尔-STM32MP135开发板ADC...
#板卡评测
2426 人阅读
|
0 人回复
|
2023-10-15
TA的每日心情 | 开心 2025-8-15 21:04 |
|---|
签到天数: 730 天 连续签到: 1 天 [LV.9]以坛为家II
翰林
- 积分
- 23626
|
本帖最后由 satoll 于 2023-10-17 16:14 编辑
理解一下135的ADC。
STM32MP135 ADC使用的步骤如下:
初始化ADC通道,配置ADC的采样规则。
配置DMA传输参数,包括传输通道、数据存储地址、传输数据块大小、是否启用循环传输等。
配置定时器触发模式,包括定时器选择、触发模式等参数。
启动ADC和DMA传输,同时开启定时器中断。
在定时器中断服务程序中,读取ADC的值并处理数据。
处理完成后,关闭ADC和DMA传输,同时关闭定时器中断。
MYD-YF13X 是一个开发板,提供了两路模拟数字转换器(ADC)通道。默认情况下,每个通道都提供一个电压值。ADC 的测试是通过文件系统 sysfs 接口来实现的。下面以 ADC 通道 2 和通道 8 为例进行说明。
首先,我们需要找到 ADC 对应的设备文件,通常在 /dev 目录下。可以使用以下命令来查看设备文件列表:
ls /dev/ad*
这会列出所有 ADC 设备文件,其中 ad 表示 ADC,后面的数字表示通道号。例如,/dev/ad0 表示 ADC 通道 0,/dev/ad2 表示 ADC 通道 2,以此类推。
接下来,我们可以使用 sysfs 接口来读取 ADC 的值。在 Linux 中,ADC 的值可以通过以下路径读取:
/sys/class/hwmon/hwmon*/in*
其中,hwmon* 表示 ADC 设备文件,in 表示输入电压。例如,要读取 ADC 通道 2 的电压值,可以执行以下命令:
cat /sys/class/hwmon/hwmon2/in0_input
类似地,要读取 ADC 通道 8 的电压值,可以执行以下命令:
cat /sys/class/hwmon/hwmon3/in8_input
上述命令将返回一个十进制数值,表示 ADC 通道的电压值。
如果想要测试 ADC 的功能是否正常,可以使用以下命令将 ADC 值输出到控制台:
echo 1 > /sys/class/hwmon/hwmon*/in*/uevent
这将强制 ADC 进行一次转换,并将结果读入到上述命令指定的路径中。注意,上面的命令中的 hwmon* 表示 ADC 设备文件,而 in* 表示输入电压的属性文件。
上面是在百度里面查的135的与ADC有关的使用步骤,我这边只参照了部分。
下面正式开始:
1、ADC具体操作步骤
2.ADC板载位置
3、输出结果与操作步骤
操作步骤与命令
4、ADC代码
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <dirent.h>
- #include <unistd.h>
- #include <sys/ioctl.h>
- #include <errno.h>
- #include <unistd.h>
- void main()
- {
- printf("start!\n");
-
- #if 1
- const char* fileName="/sys/bus/iio/devices/iio:device0/in_voltage2_raw";
- #else
- const char* fileName="/home/fang/MYIR/Dome/2_adc/test.txt";
- #endif
- while(1)
- {
- int fd=open(fileName,O_RDONLY);
- if(fd<0)
- {
- printf("open file fial!\n");
- }
- char buf[128];
- while(read(fd,buf,sizeof(buf)-1)>0)
- {
- int val=atoi(buf);
- float VolVal=val*1.0/4096*3.3; //=k*val*1.0/4096+b;
- printf("VolVal:%.2fV\n",VolVal);
- //printf("%s,%d\n",buf,val);
- }
- close(fd);
- sleep(1);
- }
- printf("ok\n");
-
- }
复制代码 编译代码,和用SCP发送可执行程序到板子
5、输出视频
|
|
|
|
|
|
|
|
|