Помогите с настройкой ADC tiny25

по МК и не только
Ответить
sova
Сообщения: 1
Зарегистрирован: 01 май 2018, 17:21

Помогите с настройкой ADC tiny25

Сообщение sova » 01 май 2018, 19:26

Не работает усиление ADC0, ADC1 20x настроил MUX[3:0] 1011 ?????????????

Если настроить ADC2, ADC3 20x то работает усиление MUX[3:0] 0111.

Часть кода с настройками
#define ADC_VREF_TYPE ((1<<REFS1) | (0<<REFS0) | (0<<REFS2) | (0<<ADLAR)) //Voltage Reference: 1.1V, AREF discon.

unsigned int read_adc(unsigned char adc_input)
{
ADMUX=(adc_input & (1<<MUX3) | (0<<MUX2) | (1<<MUX1) | (1<<MUX0)) | ADC_VREF_TYPE; // усиление 20 раз входа ADC0 , ADC1-инверсный

// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
// Wait for the AD conversion to complete
while ((ADCSRA & (1<<ADIF))==0);
ADCSRA|=(1<<ADIF);
return ADCW;

// ADC initialization
// ADC Clock frequency: 125,000 kHz
// ADC Voltage Reference: AVCC pin
// ADC Bipolar Input Mode: Off
// ADC Reverse Input Polarity: Off
// ADC Auto Trigger Source: Free Running
// Digital input buffers on ADC0: Off, ADC1: Off, ADC2: On, ADC3: On
DIDR0|=(1<<ADC0D) | (0<<ADC2D) | (0<<ADC3D) | (1<<ADC1D);
ADMUX=ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (0<<ADSC) | (1<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
ADCSRB=(0<<BIN) | (0<<IPR) | (0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость