zoukankan      html  css  js  c++  java
  • STM32CubeIDE 多通道ADC DMA转换

    1、ADC1参数设置如下,本历程开启了9路ADC通道

    2、设置DMA

    3、设定DMA数据宽度,把数据宽度有默认的Half Word改为Word,否则两路的ADC值会合并成一个数据

     

     采集代码如下:

    /* USER CODE BEGIN Header_StartTaskCheckTemp */
    uint32_t     ADC_DegitalValue[20];//定义ADC转换结果存放的数组
    /**
    * @brief Function implementing the myTaskCheckTemp thread.
    * @param argument: Not used
    * @retval None
    */
    /* USER CODE END Header_StartTaskCheckTemp */
    void StartTaskCheckTemp(void const * argument)
    {
      /* USER CODE BEGIN StartTaskCheckTemp */
      /* Infinite loop */
      for(;;)
      {
        HAL_ADC_Start_DMA(&hadc1,ADC_DegitalValue,9);//9路ADC转换完后,DMA自动把对应的通道值放入该ADC_DegitalValue数组内
        osDelay(10);
      }
      /* USER CODE END StartTaskCheckTemp */
    }
    DMA_ADC采集

    调试结果如下:

  • 相关阅读:
    idea在线的ocr识别工具
    ubuntu ftp
    上海PyCon China2011大会
    Apache Mesos
    ubuntu install wxpython & ulipad
    磁力链
    魅力研习社
    黄冬 使用nc
    SVD奇异值分解
    生财有道
  • 原文地址:https://www.cnblogs.com/lizhiqiang0204/p/13427191.html
Copyright © 2011-2022 走看看