Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ADC
M2354
【NuMaker-M2354试用】_adc测试分享
发布于 2021-12-16 23:31:39 浏览:777
订阅该版
NuMaker-M2354测评之ADC 时间:2021年12月16日 作者:xiaogs 项目地址:https://gitee.com/xiaogs/nu-maker-m2354-adc.git **1 ADC简介** 模拟数字转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。 **2 测评硬件** NuMaker-M2354 开发板的板载资源很丰富,IO接口都已引出,而且板载自带烧录器。本次测评,我测试了ADC0 CH6的ADC功能。 **3 快速上手** RT-Thread已经很贴心的将新唐 NuMaker-M2354这块开发板加入RT-Thread官方的文档中心:[新唐NuMaker-M2354](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/numaker-m2354/quick-start) 按照官方文档进行操作,我们就能顺利的将官方提供的测试程序跑起来; **4 工程裁剪** 官方提供的代码将所有的功能都开启了,而本次我需要测试的仅仅是ADC,所以我们还需要对工程进行裁剪: step1: 使用ENV,进入./rt-thread/bsp/nuvoton/numaker-m2354 目录 step2: 执行以下代码: ``` menuconfig ``` step3:  在 Hardware Drivers config -> On chip Peripheral Drivers下将无关项取消  step4 然后执行以下代码进行构建工程,因为本人使用的是keil5进行开发: ``` scans --target=mdk5 -s ``` **5 代码开发** 打开工程文件,执行编译  没有报错,然后我们创建一个adc_test.c文件,编写以下代码: ``` #include
#include
static int adc_test(int argc,char *argv[]) { rt_adc_device_t adc_device; rt_uint32_t adc_value, voltage; rt_err_t result = RT_EOK; //!<查找设备 adc_device = (rt_adc_device_t)rt_device_find("eadc0"); if(adc_device == RT_NULL) { rt_kprintf("adc_test can't find eadc0!\n"); return RT_ERROR; } //!<使能设备 result = rt_adc_enable(adc_device, atoi(argv[1])); //!<读取ADC值 adc_value = rt_adc_read(adc_device, atoi(argv[1])); //!<打印ADC值 rt_kprintf("the adc_value is :%d \n", adc_value); //!<对ADC值进行转换 voltage = adc_value * 300 / ( 1 << 12 ); //!<打印转换后的ADC值 rt_kprintf("the voltage is :%d.%02d \n", voltage / 100, voltage % 100); //!<释放设备 result = rt_adc_disable(adc_device, atoi(argv[1])); return result; } //!<注册到 msh 中 MSH_CMD_EXPORT(adc_test,adc test); ``` 编译后,烧录到板块上,使用串口工具  输入adc_test 1: ``` msh >adc_test 1 the adc_value is :1 the voltage is :0.00 msh > ``` 查看开发板的引脚图:  可以看到A5~A0对应的是ADC0_CH6~ADC0_CH11,我们使用杜邦线,将A5接到GND:  用杜邦线将A5接到3V:  由于时间有限,只进行了简单测试,后续有时间再进行深入的测试。官方已经将ADC设备驱动写好,真正的拿来即用,降低了开发难度和开发成本。 **6 可编译的代码** [传送门](https://gitee.com/xiaogs/nu-maker-m2354-adc.git) **7 测评心得** 本次的测评还是相对浅显使用,在裁剪过程中也遇到了一些问题,通过翻阅论坛资料,查看官方手册还是顺利的完成了测评。感谢RT-Thread和新唐提供的此次测评活动,受益匪浅。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
xiaogs
这家伙很懒,什么也没写!
文章
3
回答
0
被采纳
0
关注TA
发私信
相关文章
1
请大神帮忙看下风格 还是哪里有问题 照着串口驱动写的ADC驱动
2
ADC config
3
rt_thread_delay()和ADC采样之间的冲突
4
请教在官方BSP中的STM32F40X程序中加入ADC,串口没输出。
5
给RT-Thread添加ADC驱动框架
6
求助:ADC采样被干扰
7
【内核和外设学习营】十里 ADC光敏电阻电压采集实验
8
<内核学习营>+坦然+探索者stm32f407板子的ADC测试光传感器实验
9
【内核学习营】+青春+ADC读取光敏传感器实验
10
《内核学习营》+水一方+项目中应用的ADC实现电压采集
推荐文章
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组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
9
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部