void HAL_COMP_TriggerCallback(COMP_HandleTypeDef *hcomp) { uint8_t comp; uint8_t valx=HAL_COMP_GetOutputLevel(hcomp); if (hcomp==&hcomp1) { comp=0; } else { comp = 1; } compValues[comp] = valx + '0'; }
/** * @brief check input voltage level: within the thresholds, above the upper * threshold or under the lower threshold * @param None * @retval None */ void InputVoltageLevel_Check(void) { /* Check if COMP1 and COMP2 output level is high */ if (((HAL_COMP_GetOutputLevel(&Comp1Handle)) == COMP_OUTPUTLEVEL_HIGH) && ((HAL_COMP_GetOutputLevel(&Comp2Handle)) == COMP_OUTPUTLEVEL_HIGH)) { /* A rising edge is detected so the input voltage is higher than VREFINT */ State = STATE_OVER_THRESHOLD; } else if (((HAL_COMP_GetOutputLevel(&Comp1Handle)) == COMP_OUTPUTLEVEL_LOW) && ((HAL_COMP_GetOutputLevel(&Comp2Handle)) == COMP_OUTPUTLEVEL_HIGH)) { /* A falling edge is detected so the input voltage is lower than VREFINT */ State = STATE_WITHIN_THRESHOLD; } else if (((HAL_COMP_GetOutputLevel(&Comp1Handle)) == COMP_OUTPUTLEVEL_LOW) && ((HAL_COMP_GetOutputLevel(&Comp2Handle)) == COMP_OUTPUTLEVEL_LOW)) { State = STATE_UNDER_THRESHOLD; } }