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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版