/** * @brief Clears the ADCx's pending flags. * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. * @param ADC_FLAG: specifies the flag to clear. * This parameter can be any combination of the following values: * @arg ADC_FLAG_AWD: Analog watchdog flag * @arg ADC_FLAG_EOC: End of conversion flag * @arg ADC_FLAG_JEOC: End of injected group conversion flag * @arg ADC_FLAG_JSTRT: Start of injected group conversion flag * @arg ADC_FLAG_STRT: Start of regular group conversion flag * @retval None */ void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG) { /* Check the parameters */ assert_param(IS_ADC_ALL_PERIPH(ADCx)); assert_param(IS_ADC_CLEAR_FLAG(ADC_FLAG)); /* Clear the selected ADC flags */ ADCx->SR = ~(uint32_t)ADC_FLAG; }
/******************************************************************************* * 函数名称: ADC_ClearFlag * 功能描述: 清除ADCx的挂起标志. * 输入参数: (1)ADCx:其中x可以是1、2或3,用来选择ADC外围模块. * (2)ADC_FLAG:需要清除的标志。使用"|"可以使得一个或多个标志可以同时被清除。 * 给出了ADC_FLAG 的取值: * - ADC_FLAG_AWD: 模拟看门狗标志 * - ADC_FLAG_EOC: 转换结束标志 * - ADC_FLAG_JEOC: 注入组转换结束标志 * - ADC_FLAG_JSTRT: 注入组转换开始标志 * - ADC_FLAG_STRT: 常规组转换开始标志 * 输出参数: 无 * 返回参数: 无 *******************************************************************************/ void ADC_ClearFlag(ADC_TypeDef* ADCx, u8 ADC_FLAG) { /* Check the parameters [检查参数] */ assert_param(IS_ADC_ALL_PERIPH(ADCx)); assert_param(IS_ADC_CLEAR_FLAG(ADC_FLAG)); /* Clear the selected ADC flags [清除选择的ADC标志]*/ ADCx->SR = ~(u32)ADC_FLAG; }