在用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

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