예제 #1
0
/**
  * @brief  ADC module initialization
  * @param  None.
  * @retval None.
  */
void ADC_Init(void)
{
    ADC_SWReset();              /* reset ADC */
    ADC_SetInputChannel(ADC_AN_0);
    ADC_SetRepeatMode(ENABLE);
    ADC_SetVref(ENABLE);
    delay(3000U);
}
예제 #2
0
int analogRead(uint8_t pin)
{
  #if defined( CORE_ANALOG_FIRST )
    if ( pin >= CORE_ANALOG_FIRST ) pin -= CORE_ANALOG_FIRST; // allow for channel or pin numbers
  #endif

  // fix? Validate pin?

  ADC_SetVoltageReference( analog_reference );
  ADC_SetInputChannel( pin );

  ADC_StartConversion();

  while( ADC_ConversionInProgress() );

  return( ADC_GetDataRegister() );
}