Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1986 → Rev 1987

/branches/dongfang_FC_rewrite/analog.c
154,6 → 154,7
volatile uint16_t accNoisePeak[3];
 
volatile uint8_t adState;
volatile uint8_t adChannel;
 
// ADC channels
#define AD_GYRO_YAW 0
210,7 → 211,7
// external reference, adjust data to the right
ADMUX &= ~((1<<REFS1)|(1<<REFS0)|(1<<ADLAR));
// set muxer to ADC adc_channel 0 (0 to 7 is a valid choice)
ADMUX = (ADMUX & 0xE0) | AD_GYRO_PITCH;
ADMUX = (ADMUX & 0xE0);
//Set ADC Control and Status Register A
//Auto Trigger Enable, Prescaler Select Bits to Division Factor 128, i.e. ADC clock = SYSCKL/128 = 156.25 kHz
ADCSRA = (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
252,7 → 253,8
sensorInputs[i] = 0;
}
adState = 0;
ADMUX = (ADMUX & 0xE0) | AD_GYRO_PITCH;
adChannel = AD_GYRO_PITCH;
ADMUX = (ADMUX & 0xE0) | adChannel;
startADC();
}
 
262,7 → 264,6
* processed further conversions are stopped.
*****************************************************/
ISR(ADC_vect) {
static uint8_t adChannel = AD_GYRO_PITCH;
sensorInputs[adChannel] += ADC;
// set up for next state.
adState++;