ADC开发基础

  • Resolution选择采样位数,Data Alignment改为向右对齐

  • 查询方式,阻塞式的A/D转换

    1
    2
    3
    4
    5
    6
    uint16_t ADC_Value = 0;
    HAL_ADC_Start(&hadc); //开启ADC外设
    if(HAL_ADC_PollForConversion(&hadc,10) == HAL_OK) //判断是否转换完成
    {
    ADC_Value=HAL_ADC_GetValue(&hadc); //读出转换结果
    }
  • 中断方式,非阻塞式的A/D转换

    1
    2
    3
    4
    5
    6
    7
    uint16_t ADC_Value=0;
    HAL_ADC_Start_IT(&hadc);

    void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc1) //重写回调函数
    {
    ADC0_Value=HAL_ADC_GetValue(&hadc);
    }

这是跟随B站小蜜蜂老师的干货铺【小蜜蜂笔记】基于STM32CubeMX的嵌入式开发基础教程所写的学习笔记。

此教程以应用为主,辅以简单的原理讲解,能够快速的上手STM32的开发。