unsigned long adc_get_value(volatile avr32_adc_t * adc, unsigned short channel) { Assert( adc!=NULL ); Assert( channel <= AVR32_ADC_CHANNELS_MSB ); // check if channel exist // wait for end of conversion while(adc_check_eoc(adc, channel) != HIGH); return *((unsigned long * )((&(adc->cdr0)) + channel)); }
/** \brief Get channel value * * \param *adc Base address of the ADC * \param channel channel to handle (0 to 7) * \return The value acquired (unsigned long) */ uint32_t adc_get_value(volatile avr32_adc_t *adc, uint16_t channel) { Assert( adc != NULL ); Assert( channel <= AVR32_ADC_CHANNELS_MSB ); /* wait for end of conversion */ while (adc_check_eoc(adc, channel) != true) { } return *((uint32_t *)((&(adc->cdr0)) + channel)); }