1 ADC简介
模拟数字转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。
通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
2 测评硬件
NuMaker-M2354 开发板的板载资源很丰富,IO接口都已引出,而且板载自带烧录器。本次测评,我测试了ADC0 CH6的ADC功能。
3 快速上手
按照官方文档进行操作,我们就能顺利的将官方提供的测试程序跑起来;
4 工程裁剪
官方提供的代码将所有的功能都开启了,而本次我需要测试的仅仅是ADC,所以我们还需要对工程进行裁剪:
step1:
使用ENV,进入./rt-thread/bsp/nuvoton/numaker-m2354 目录
step2:
执行以下代码:
menuconfig
step3:
On chip Peripheral Drivers下将无关项取消
模拟数字转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
2 测评硬件
NuMaker-M2354 开发板的板载资源很丰富,IO接口都已引出,而且板载自带烧录器。本次测评,我测试了ADC0 CH6的ADC功能。
3 快速上手
RT-Thread已经很贴心的将新唐 NuMaker-M2354这块开发板加入RT-Thread官方的文档中心:新唐NuMaker-M2354
按照官方文档进行操作,我们就能顺利的将官方提供的测试程序跑起来;
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 代码开发
打开工程文件,执行编译
#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;
//!
模拟数字转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。
通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
2 测评硬件
NuMaker-M2354 开发板的板载资源很丰富,IO接口都已引出,而且板载自带烧录器。本次测评,我测试了ADC0 CH6的ADC功能。
3 快速上手
按照官方文档进行操作,我们就能顺利的将官方提供的测试程序跑起来;
4 工程裁剪
官方提供的代码将所有的功能都开启了,而本次我需要测试的仅仅是ADC,所以我们还需要对工程进行裁剪:
step1:
使用ENV,进入./rt-thread/bsp/nuvoton/numaker-m2354 目录
step2:
执行以下代码:
menuconfig
step3:


2 测评硬件
NuMaker-M2354 开发板的板载资源很丰富,IO接口都已引出,而且板载自带烧录器。本次测评,我测试了ADC0 CH6的ADC功能。
3 快速上手
RT-Thread已经很贴心的将新唐 NuMaker-M2354这块开发板加入RT-Thread官方的文档中心:新唐NuMaker-M2354
按照官方文档进行操作,我们就能顺利的将官方提供的测试程序跑起来;
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 代码开发
打开工程文件,执行编译

#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;
//!