2748|6

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【MM32 eMiniBoard测评】+A/D数据采集 [复制链接]

 

MM32 eMiniBoard开发板配有12 位可编程分辨率的 SAR ADC,及多达 10 路外部输入通道和 2 路内部通道 2个串口。

使用ADC进行数据可将外部的模拟信号转换为数字信号以便进行后续的数字化处理,若配合传感器的使用则能把物理信号转换为可供MCU处理数据。

在该开发板上,直接提供了3路模拟信号以供测试,其原理图如图1所示

图1  3路模拟信号输出

 

在未配置显示器件的情况下,可通过串行通讯来输出A/D数据采集的结果,参见图2和图3所示

图2 数据采集方式

 

图3 数据采集结果

 

由相关资料可知,ADC1_CH_1所占用的引脚为PA1,故调节电位器RV1即可改变模拟电压。

实现A/D数据采集的主程序为:

s32 main(void)
{
    DELAY_Init();
    CONSOLE_Init(9600);
    ADC1SingleChannelInit();
    while(1) {
        ADCVAL = Get_Adc_Average(5);
        fValue = ((float)ADCVAL / 4095) * 3.3; //use 3.3V as VDD
        printf("ADC1_CH_1=%fV\r\n", fValue);
        DELAY_Ms(200);
    }
}

其中,语句ADCVAL = Get_Adc_Average(5);的功能是取5次采样值的平均值。

若对相关函数加以修改,则可采集通道ADC1_CH_4的值,需修改的函数为:

void ADC1PinConfigWithParameter(void)
{
    ADCxAssignPin(GPIOA, GPIO_Pin_4);
}

 

void ADC1ChannelConfigWithParameter(void)
{
    ADC_TypeDef* ADCn;
    ADCn = ADC1;
    ADCxChannelEnable(ADCn, ADC_Channel_4);
}

 

s32 main(void)
{
    DELAY_Init();
    CONSOLE_Init(9600);
    ADC1SingleChannelInit();
    while(1) {
        ADCVAL = Get_Adc_Average(5);
        fValue = ((float)ADCVAL / 4095) * 3.3; //use 3.3V as VDD
        printf("ADC1_CH_4=%fV\r\n", fValue);
        DELAY_Ms(200);
    }
}

在调节电位器RV2的情况下,则可得到图4所示的结果。

图4 数据采集结果

最新回复

初始化的时候估计要设置转换的通道号和总共需要转换的通道数,,,根据st推测   详情 回复 发表于 2020-12-2 22:36

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

1942

帖子

2

TA的资源

版主

沙发
 

老哥可以实现多通道采集吗?我之前试了一下,修改不来。

点评

是呀,我也试了,我做了2个单通道的,成功后就把它们组合在一起来实现双通道,但是只输出一个通道的值! [attachimg]514061[/attachimg] 有时间的话,再多尝试尝试吧。  详情 回复 发表于 2020-11-30 09:40
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
w494143467 发表于 2020-11-30 09:13 老哥可以实现多通道采集吗?我之前试了一下,修改不来。

是呀,我也试了,我做了2个单通道的,成功后就把它们组合在一起来实现双通道,但是只输出一个通道的值!

有时间的话,再多尝试尝试吧。

点评

对的,我也是这样的情况,所以也想知道怎么设置为双通道,看了手册,照着操作还是不行。到时候问问官方吧。  详情 回复 发表于 2020-11-30 11:17
 
 
 

回复

1942

帖子

2

TA的资源

版主

4
 
jinglixixi 发表于 2020-11-30 09:40 是呀,我也试了,我做了2个单通道的,成功后就把它们组合在一起来实现双通道,但是只输出一个通道的值! ...

对的,我也是这样的情况,所以也想知道怎么设置为双通道,看了手册,照着操作还是不行。到时候问问官方吧。

点评

ok !  详情 回复 发表于 2020-11-30 11:45
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

5
 
w494143467 发表于 2020-11-30 11:17 对的,我也是这样的情况,所以也想知道怎么设置为双通道,看了手册,照着操作还是不行。到时候问问官方吧 ...

ok !

 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 

初始化的时候估计要设置转换的通道号和总共需要转换的通道数,,,根据st推测

点评

有道理,通道号是设了,但通道数无从定义。故采用2个通道是轮询,即循环体内是:通道1初始化、采集通道1、通道2初始化、通道2采集,但结果是同一通道值!  详情 回复 发表于 2020-12-2 23:02
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

7
 
freebsder 发表于 2020-12-2 22:36 初始化的时候估计要设置转换的通道号和总共需要转换的通道数,,,根据st推测

有道理,通道号是设了,但通道数无从定义。故采用2个通道是轮询,即循环体内是:通道1初始化、采集通道1、通道2初始化、通道2采集,但结果是同一通道值!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表