艾特我 2022-02-04 00:53 采纳率: 50%
浏览 56

在用STM32Cube MX时,将 Continuous Conversion Mode(连续转换模式) 设置成 ENABLE 后,ADC只能读出固定值Why?

没有使用中断,采用轮询获取的ADC1通道1的值
CubeMX中 ADC设置如下:

img

在用STM32Cube MX时,将 Continuous Conversion Mode(连续转换模式) 设置成 ENABLE 后,ADC只能读出固定值
Main函数如下:

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_ADC1_Init();
  HAL_ADC_Start(&hadc1);
  while (1)
  {
        HAL_ADC_Start(&hadc1);
        if(HAL_ADC_PollForConversion(&hadc1,0xff) == HAL_OK)
        {
            Adc_val = HAL_ADC_GetValue(&hadc1);
            printf("这是一个串口%d\r\n",Adc_val);
        }
        HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
        HAL_Delay(500);
  }
}

但将 Continuous Conversion Mode(连续转换模式) 设置成 DISABLE 后,ADC能正确读出

单片机型号为STM32L476RE

  • 写回答

1条回答 默认 最新

  • 高贵的狗子 2022-02-05 23:00
    关注

    Continuous Conversion Mode(连续转换模式)    ENABLE
    设置为ENABLE,即连续转换。如果设置为DISABLE,则是单次转换。两者的区别在于连续转换直到所有的数据转换完成后才停止转换,而单次转换则只转换一次数据就停止,要再次触发转换才可以进行转换

    评论

报告相同问题?

问题事件

  • 创建了问题 2月4日

悬赏问题

  • ¥15 联想笔记本开机出现系统更新界面
  • ¥15 各位帮帮我 我不想重做系统
  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配