Description
Source
Call Graph
Start Line: 235
int main(void)
{
unsigned int id_channel;
TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
printf("-- Basic ADC Project %s --\n\r", SOFTPACK_VERSION);
printf("-- %s\n\r", BOARD_NAME);
printf("-- Compiled: %s %s --\n\r", __DATE__, __TIME__);
#ifdef PINS_ADC
PIO_Configure(pinsADC, PIO_LISTSIZE(pinsADC));
#endif
ADC_Initialize( AT91C_BASE_ADC,
AT91C_ID_ADC,
AT91C_ADC_TRGEN_DIS,
0,
AT91C_ADC_SLEEP_NORMAL_MODE,
AT91C_ADC_LOWRES_10_BIT,
BOARD_MCK,
BOARD_ADC_FREQ,
10,
1200);
ADC_EnableChannel(AT91C_BASE_ADC, ADC_NUM_1);
ADC_EnableChannel(AT91C_BASE_ADC, ADC_NUM_2);
ADC_EnableChannel(AT91C_BASE_ADC, ADC_NUM_3);
ADC_EnableChannel(AT91C_BASE_ADC, ADC_NUM_4);
AIC_ConfigureIT(AT91C_ID_ADC, 0, ISR_Adc);
AIC_EnableIT(AT91C_ID_ADC);
printf("-I- Press any key to perform a measurement on the ADC ...\n\r");
// Infinite loop
while (1) {
// Wait for user input
DBGU_GetChar();
conversionDone = 0;
ADC_EnableIt(AT91C_BASE_ADC, ADC_NUM_1);
ADC_EnableIt(AT91C_BASE_ADC, ADC_NUM_2);
ADC_EnableIt(AT91C_BASE_ADC, ADC_NUM_3);
ADC_EnableIt(AT91C_BASE_ADC, ADC_NUM_4);
// Start measurement
ADC_StartConversion(AT91C_BASE_ADC);
while( conversionDone != ((1<<ADC_NUM_1)|(1<<ADC_NUM_2)|(1<<ADC_NUM_3)|(1<<ADC_NUM_4)) );
for(id_channel=ADC_NUM_1;id_channel<=ADC_NUM_4;id_channel++) {
printf("Channel %d : %d mV\n\r",
id_channel,
ConvHex2mV(ADC_GetConvertedData(AT91C_BASE_ADC, id_channel))
);
}
printf("\n\r");
}
}