AnsweredAssumed Answered

STM32F217 and analog watch dog

Question asked by samartsev.yuriy on Nov 7, 2016
Latest reply on Nov 7, 2016 by samartsev.yuriy
I use TIM8 for start of conversion  and ADC_EXTERNALTRIGCONV_T8_TRG event for get a value of ADC in recycle mode with analog WDG. analog watchdog. I set both AWDIE and EOCIE. It work fine. An interrupt occurs every time in the end of conversion process. But i do not want it. I want to an interrupt occurred in case when ADC value will be higher or lower some level. If i reset EOCIE an interrupt does  not occure never. AWD does not call an interrupt of ADC. Is it my mistake or it should be? May be there are an example with analog wath dog for HAL?
My config code is bellow.
  ADC_AnalogWDGConfTypeDef AnalogWDGConfig;
  ADC_ChannelConfTypeDef sConfig;
  /* ADC Initialization */
  AdcHandle.Instance          = ADC1; //
  AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV2;
  AdcHandle.Init.Resolution = ADC_RESOLUTION12b;
  AdcHandle.Init.ScanConvMode = DISABLE;
  AdcHandle.Init.ContinuousConvMode = ENABLE;
  AdcHandle.Init.DiscontinuousConvMode = DISABLE; 
  AdcHandle.Init.NbrOfDiscConversion = 0;
  AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
  AdcHandle.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T8_TRGO; 
  AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  AdcHandle.Init.NbrOfConversion = 1;
  AdcHandle.Init.DMAContinuousRequests = ENABLE;
  AdcHandle.Init.EOCSelection = DISABLE;
  if (HAL_ADC_Init(&AdcHandle) != HAL_OK) 
  {
    /* ADC Initiliazation Error */
    Error_Handler();
  }
/**Configure the analog watchdog 
    */
  AnalogWDGConfig.WatchdogMode = ADC_ANALOGWATCHDOG_SINGLE_REG;
  AnalogWDGConfig.HighThreshold = 1500; //1,19V
  AnalogWDGConfig.LowThreshold = 500; //0,4V
  AnalogWDGConfig.Channel = ADC_CHANNEL_6;
  AnalogWDGConfig.ITMode = ENABLE;
  HAL_ADC_AnalogWDGConfig(&AdcHandle, &AnalogWDGConfig);
  /* Configure ADC1 regular channel */
  sConfig.Channel = ADCx_CHANNEL;
  sConfig.Rank = 1;
  sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;
  sConfig.Offset = 0;
  if (HAL_ADC_ConfigChannel(&AdcHandle, &sConfig) != HAL_OK)
  {
    /* Channel Configuration Error */
    Error_Handler();
  }

Outcomes