学习目标

  1. 掌握ADC配置方式
  2. 掌握ADC采样数据操作

    学习内容

    需求

    采样芯片温度和外部电位器电压。
    221.png222.png
  • ADC0 IN0
  • ADC16 TEMP

    ADC配置

    选中ADC1,选中两个通道,IN16和IN0
    065.png
    配置采样序列数量为2.
    067.png

    ADC采样编码

    开发流程:
  1. 开始采样
  2. 等待转换完成
  3. 按照序列顺序获取采样结果。

编码实现

  1. /* USER CODE BEGIN WHILE */
  2. while (1)
  3. {
  4. HAL_ADC_Start(&hadc1);
  5. if(HAL_OK == HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY)) {
  6. uint16_t value = HAL_ADC_GetValue(&hadc1);
  7. float temperature = ((1.4 - 3.3 * value / 4096 )/ 4.4) + 25;
  8. printf("temp: %d %f\r\n", value, temperature);
  9. value = HAL_ADC_GetValue(&hadc1);
  10. float vol = 3.3 * value / 4096;
  11. printf("vol: %d %f\r\n", value, vol);
  12. }
  13. HAL_Delay(1000);
  14. /* USER CODE END WHILE */

练习题

  1. 使用ADC采样温度和电位器