Exemplo n.º 1
0
void ADCInit (void)
{
       // Clear all previous setting and result
       AT91F_ADC_SoftReset (AT91C_BASE_ADC);

       // First step: Set the ADC by writing in Mode register
       AT91F_ADC_CfgModeReg (AT91C_BASE_ADC, (SHTIM << 24) | (STARTUP << 16) | (PRESCAL << 8) |
                            (SLEEP << 5) | (LOWRES <<4) | (TRGSEL << 1) | (TRGEN )) ;

        // Second Step: Select the first and second active channels
        AT91F_ADC_EnableChannel (AT91C_BASE_ADC, (1<<CHANNEL5));
        AT91F_ADC_EnableChannel (AT91C_BASE_ADC, (1<<CHANNEL6));
        AT91F_ADC_EnableChannel (AT91C_BASE_ADC, (1<<CHANNEL7));
}
Exemplo n.º 2
0
void ADC_Start(unsigned char ch)
{
	AT91F_ADC_EnableChannel (AT91C_BASE_ADC, (1<<ch)); 
	AT91F_ADC_StartConversion (AT91C_BASE_ADC);
	while (!((AT91F_ADC_GetStatus (AT91C_BASE_ADC)) & (1<<ch)));
	AT91F_ADC_DisableChannel (AT91C_BASE_ADC, (1<<ch)); 
}