Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ADC设备
5
ADC采集电压,读取到的数据总是出错,不就是满量程3.29,不就是1.65,就两个值不断地跳变,反正不正常,求助大佬帮助!!!
发布于 2024-04-10 10:01:33 浏览:482
订阅该版
cubmx配置的也没啥问题,就配置了5通道,生成的代码复制到了board.c里面了,就是读取到的数据有问题,太奇怪了,rtthread也打开了adc组件 ```c /* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2024-03-27 EE the first version */ #include
#include
#include
#include
#include
#include
rt_adc_device_t adc_dev,adc_2; #define ADC_DEV_NAME "adc1" /* ADC 设 备 名 称 */ #define ADC_DEV_CHANNEL 5 /* ADC 通 道 */ #define REFER_VOLTAGE 330 /* 参 考 电 压 3.3V,数 据 精 度 乘 以100保 留2位 小 数 */ #define CONVERT_BITS (1 << 12) /* 转 换 位 数 为12位 */ int adc_vol_sample(void) { rt_uint32_t value, vol; /* 查 找 设 备 */ adc_dev = (rt_adc_device_t)rt_device_find("adc1"); adc_2 = (rt_adc_device_t)rt_device_find("adc2"); if (adc_dev == RT_NULL) { rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME); return RT_ERROR; } if (adc_2 == RT_NULL) { rt_kprintf("adc2 sample run failed! can't find %s device!\n", ADC_DEV_NAME); return RT_ERROR; } rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); rt_adc_enable(adc_2, 1); // value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); // rt_kprintf("the value is :%d \n", value); /* 转 换 为 对 应 电 压 值 */ // vol = value * REFER_VOLTAGE / CONVERT_BITS; // rt_kprintf("the adc1 is :%d.%02d \n", vol / 100, vol % 100); // value = rt_adc_read(adc_2, 1); // rt_kprintf("the value is :%d \n", value); /* 转 换 为 对 应 电 压 值 */ // vol = value * REFER_VOLTAGE / CONVERT_BITS; // rt_kprintf("the adc2 is :%d.%02d \n", vol / 100, vol % 100); return RT_EOK; } static int adc_sample(void) { rt_uint32_t value, vol; /* 查 找 设 备 */ adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME); if (adc_dev == RT_NULL) { rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME); return RT_ERROR; } /* 使 能 设 备 */ rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); /* 读 取 采 样 值 */ value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); rt_kprintf("the value is :%d \n", value); /* 转 换 为 对 应 电 压 值 */ vol = value * REFER_VOLTAGE / CONVERT_BITS; rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100); return RT_EOK; }/* 导 出 到 msh 命 令 列 表 中 */ MSH_CMD_EXPORT(adc_sample, adc_sample); ```  上述图片,一个adc1 PA0接到了1.4v的电压,adc2 PC0接到了地,为什么他们显示一样都是错误的3.29v,按理来说,我的电压不断调整不应该模拟量也在随时变化吗,我的历程他不变化,都是跳变,而且3.29和1.65和0来回跳变.。。。。。。。 
查看更多
3
个回答
默认排序
按发布时间排序
梦笑真美
2024-04-10
这家伙很懒,什么也没写!
感觉像是配置的问题,哪里不对
wzh2024
2024-04-10
这家伙很懒,什么也没写!
直接用cubemx代码试下,排除板子问题
踩姑娘的小蘑菇
2024-04-10
这家伙很懒,什么也没写!
按官方文档例程的流程来,依次调用 rt_adc_enable rt_adc_read rt_adc_disable
撰写答案
登录
注册新账号
关注者
0
被浏览
482
关于作者
dsfghjkl
这家伙很懒,什么也没写!
提问
5
回答
0
被采纳
0
关注TA
发私信
相关问题
1
adc设备不能打开。。。。。
2
ADC 设备名称是怎么确定的
3
stm32g0 设备驱动框架 wdt adc 报错
4
ADC设备只能采集一个通道值?
5
rtthread studio adc三通道采集ntc电阻出现问题
6
ADC复制的void HAL_ADC_MspInit编译错误
7
双通道ADC采集问题
8
多通道ADC读取出现问题
9
ADC 总线打不开 控制台没有ADC总线
10
rt_adc_voltage 使用问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
Studio环境下ST M7系列USB主机(CheeryUSB)配置及踩坑
2
RTT串口查找函数使用过程中遇到的问题。
3
RT-Thread CI编译产物artifacts自动上传功能介绍
4
STM32G030移植RT-Thread
5
CubeMX & RT-Thread Studio 联合开发说明
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1522
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
815
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部