你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L053如何获得多通道AD

[复制链接]
semionlg 提问时间:2017-4-16 18:08 /
1 目前采用CUBEMX生成了多通道的初始化,只有配置

sConfig.Channel = ADC_CHANNEL_0;
  sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

    /**Configure for the selected ADC regular channel to be converted.
    */
  sConfig.Channel = ADC_CHANNEL_1;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

    /**Configure for the selected ADC regular channel to be converted.
    */
  sConfig.Channel = ADC_CHANNEL_2;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

    /**Configure for the selected ADC regular channel to be converted.
    */
  sConfig.Channel = ADC_CHANNEL_3;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

    /**Configure for the selected ADC regular channel to be converted.
    */
  sConfig.Channel = ADC_CHANNEL_4;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

    /**Configure for the selected ADC regular channel to be converted.
    */
  sConfig.Channel = ADC_CHANNEL_5;
  if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }

但是没有启动


2  另外,我读取这个AD,采用查询方式的时候,如何获得4个通道的数据呢?

收藏 2 评论9 发布时间:2017-4-16 18:08

举报

9个回答
开心/xin男孩 回答时间:2017-6-29 08:57:41
没有理解想要表达什么,是代码有问题,还是想请教怎么写代码?
黑夜之狼 回答时间:2017-6-29 09:30:05
每次只能读取单通道,你只能读完一个,然后切换,再读

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

五哥1 回答时间:2017-6-29 10:48:17
重要的事情是看官方的CUBE的例程。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2017-6-29 11:03:41
本帖最后由 wenyangzeng 于 2017-6-29 13:11 编辑

楼主万事具备,只欠东风。

使能扫描模式
hadc1.Init.ScanConvMode = ENABLE;

启动ADC
HAL_ADC_Start(&hadc1);

读取ADC
HAL_ADC_PollForConversion(&hadc1, 4);Value = HAL_ADC_GetValue(&hadc1);
DMA方式:
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)& ADC_Result,4);

ST官方代码很多可以参考呀。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

supermiao123 回答时间:2017-6-29 12:53:54
需要设置采样序列,可以找个例程看看

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

jcx0324 回答时间:2017-6-29 14:23:58
可以采用DMA去读

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

无薪税绵 回答时间:2017-6-29 21:22:52
楼主应该是未使能ADC。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

yygkqzh 回答时间:2017-6-30 23:43:26
多通道建议使用DMA模式,直接读取缓存区数据即可

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

lulugl 回答时间:2017-7-2 08:30:59
学习楼上的大神们

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版