/*********************************************************************//** * @brief Get ADC Chanel status from AD global data register * @param[in] StatusType * 0:Burst status * 1:Done status * @return SET / RESET * ************************************************************************/ FlagStatus ADC_GlobalGetStatus(uint32_t StatusType) { uint32_t temp; CHECK_PARAM(PARAM_ADC_DATA_STATUS(StatusType)); temp = LPC_ADC->GDR; if (StatusType){ temp &= ADC_DR_DONE_FLAG; }else{ temp &= ADC_DR_OVERRUN_FLAG; } if (temp){ return SET; }else{ return RESET; } }
/** * @brief Get ADC Chanel status from AD global data register * @param[in] ADCx pointer to ADC * @param[in] StatusType * 0:Burst status * 1:Done status * @return SET / RESET * *********************************************************************/ FlagStatus ADC_GlobalGetStatus(ADC_TypeDef *ADCx, uint32_t StatusType) { uint32_t temp; CHECK_PARAM(PARAM_ADCx(ADCx)); CHECK_PARAM(PARAM_ADC_DATA_STATUS(StatusType)); temp = ADCx->ADGDR; if (StatusType){ temp &= ADC_DR_DONE_FLAG; }else{ temp &= ADC_DR_OVERRUN_FLAG; } if (temp){ return SET; }else{ return RESET; } }
/*********************************************************************//** * @brief Get ADC Chanel status from ADC data register * @param[in] channel channel number * @param[in] StatusType * 0:Burst status * 1:Done status * @return SET / RESET * ************************************************************************/ FlagStatus ADC_ChannelGetStatus(uint8_t channel, uint32_t StatusType) { uint32_t temp; CHECK_PARAM(PARAM_ADC_CHANNEL_SELECTION(channel)); CHECK_PARAM(PARAM_ADC_DATA_STATUS(StatusType)); temp = *(uint32_t *) ((&LPC_ADC->DR[0]) + channel); if (StatusType) { temp &= ADC_DR_DONE_FLAG; }else{ temp &= ADC_DR_OVERRUN_FLAG; } if (temp) { return SET; } else { return RESET; } }
/*********************************************************************//** * @brief Get ADC Chanel status from ADC data register * @param[in] ADCx pointer to LPC_ADC_TypeDef, should be: LPC_ADC * @param[in] channel: channel number, should be 0..7 * @param[in] StatusType * 0:Burst status * 1:Done status * @return SET / RESET **********************************************************************/ FlagStatus ADC_ChannelGetStatus(LPC_ADC_TypeDef *ADCx, uint8_t channel, uint32_t StatusType) { uint32_t temp; CHECK_PARAM(PARAM_ADCx(ADCx)); CHECK_PARAM(PARAM_ADC_CHANNEL_SELECTION(channel)); CHECK_PARAM(PARAM_ADC_DATA_STATUS(StatusType)); temp = *((&ADCx->ADDR0) + channel); if (StatusType) { temp &= ADC_DR_DONE_FLAG; }else{ temp &= ADC_DR_OVERRUN_FLAG; } if (temp) { return SET; } else { return RESET; } }