Помогите с настройк...
 
Уведомления
Очистить все

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

1 Посты
1 Пользователи
0 Likes
2,261 Просмотры
sova
 sova
(@sova)
New Member
Присоединился: 6 лет назад
Сообщения: 1
Topic starter  

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

Если настроить ADC2, ADC3 20x то работает усиление MUX[3] 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);


Цитата