请选择 进入手机版 | 继续访问电脑版
查看: 117|回复: 6

[已解决] cubemx如何设置ADC的多通道采集

[复制链接]

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-28
发表于 2018-9-25 16:18:19 | 显示全部楼层 |阅读模式
本帖最后由 always18 于 2018-9-25 17:04 编辑

我的cubemx版本是4.26,mcu是f042c6,网上找了些资料都是可以设置通道个数和顺序的,而我的cube版本却没有,大家帮忙看看下面的步骤哪里有问题


uint32_t ADC_Value[100], ad1, ad2;

在while(1)前添加 HAL_ADC_Start_DMA( &hadc, (uint32_t*)&ADC_Value, 100 );

while(1)
{
   ......
   HAL_Delay(1000);
   while(i<100)
   {
    ad1 += ADC_Value[i++];
    ad2 += ADC_Value[i++];
   }
   ad1 /= 50;
   ad2 /= 50;
   printf("ad1=%d,ad2=%d\n", ad1, ad2);
}

串口打印的结果一直是 ad1=800,ad2=640,不论通道电压怎么变化,这个值一直不变,问题在哪里?

1.png
2.png
3.png
4.png
5.png
6.png
  ST全新域名已上线,大家奔走相告>>                    
回复

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

蝴蝶豆

新手上路

最后登录
2018-9-25
发表于 2018-9-25 20:21:14 | 显示全部楼层
        赞一个!丰富STM32CubeMX的学习和推广!.
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-28
 楼主| 发表于 2018-9-26 18:41:09 | 显示全部楼层
版主能帮忙看下吗?
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-28
 楼主| 发表于 2018-9-26 18:42:00 | 显示全部楼层
这论坛从来都没人回帖的吗?
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

715

帖子

199

蝴蝶豆

版主

最后登录
2018-9-27
发表于 2018-9-26 22:39:59 | 显示全部楼层
always18 发表于 2018-9-26 18:42
这论坛从来都没人回帖的吗?

你看看你的DMA 配置部分,DMA是normal模式还是circular模式。
如果是Normal模式的,每次你得重新初始化DMA才能传输新的数据。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-28
 楼主| 发表于 2018-9-26 23:30:51 | 显示全部楼层
xmshao 发表于 2018-9-26 22:39
你看看你的DMA 配置部分,DMA是normal模式还是circular模式。
如果是Normal模式的,每次你得重新初始化DM ...

如果是normal,可以每隔1000ms打印ad1和ad2的值,只是值是不变化的,按照您的意思,我在每次打印时调用MX_DMA_Init();或者HAL_ADC_Start_DMA( &hadc, (uint32_t*)&ADC_Value, 100 );
还是没有变化

如果是circular,则串口快速打印出一些数字来,也不知道是哪里打印的

不知道是哪里的问题了
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

715

帖子

199

蝴蝶豆

版主

最后登录
2018-9-27
发表于 2018-9-27 16:43:10 | 显示全部楼层
always18 发表于 2018-9-26 23:30
如果是normal,可以每隔1000ms打印ad1和ad2的值,只是值是不变化的,按照您的意思,我在每次打印时调用MX ...

一定有原因的。

1、确认下硬件是否有问题,你调整输入是否真的变化了? 你可以同时配合ADC_DR寄存器的数据来观察
2、看看是否代码哪里出现小失误而以为数据没变化。
3、多看看手册,CUBEMX最多最多只是做些基本配置。
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|意法半导体STM32/STM8技术社区

GMT+8, 2018-10-20 00:27 , Processed in 0.092608 second(s), 11 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表