Size: a a a

Анархическая электроника

2020 August 05

4

4eburashk in Анархическая электроника
Al
и че там показывают? мне просто лень идти я и так весь день код ревью делал
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 3
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE ((1<<REFS0) | (1<<ADLAR))

interrupt [ADC_INT] void adc_isr(void)
{
static unsigned char input_index=0;
adc_data[input_index]=ADCH;
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
  input_index=0;
ADMUX=(FIRST_ADC_INPUT | ADC_VREF_TYPE)+input_index;
delay_us(10);
ADCSRA|=(1<<ADSC);
}

void main(void)
{

DIDR0|=(1<<ADC0D) | (1<<ADC2D) | (0<<ADC3D) | (0<<ADC1D);
ADMUX=FIRST_ADC_INPUT | ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (0<<ADIF) | (1<<ADIE) | (0<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
ADCSRB=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
#asm("sei")

}
источник

A

Al in Анархическая электроника
Сергій Tolmeros
два подключены, но вы опрашиваете все 4-ре
гыыыы
источник

A

Al in Анархическая электроника
можно я поржу
источник

A

Al in Анархическая электроника
источник

A

Al in Анархическая электроника
я ничего более дебильного в коде не видел уже пару месяцев
источник

B

Byte in Анархическая электроника
Сергій Tolmeros
ну и тут есть вот такое
http://ww1.microchip.com/downloads/en/AppNotes/doc1493.pdf

я не помню, будет ли нормально работать, но кажется, надо сначала прочитать младший байт в любом случае, а потом старший.
т.к. там есть промежуточный временный регистр
ADCL, ADCH, да. Пока из H не считаешь — регистр не обновится.
источник

СT

Сергій Tolmeros... in Анархическая электроника
Из H или из L ?
источник

A

Al in Анархическая электроника
Byte
ADCL, ADCH, да. Пока из H не считаешь — регистр не обновится.
там вообще не имеет смысла читать ниоткуда кроме [0]
источник

A

Al in Анархическая электроника
потому что индекс статик
источник

A

Al in Анархическая электроника
он всегда ноль
источник

СT

Сергій Tolmeros... in Анархическая электроника
Al
он всегда ноль
нет
источник

A

Al in Анархическая электроника
а попытка читать из [1] убдет читать какую то херню
источник

СT

Сергій Tolmeros... in Анархическая электроника
static != const
источник

A

Al in Анархическая электроника
Сергій Tolmeros
static != const
источник

A

Al in Анархическая электроника
собственно что и происходит
источник

B

Byte in Анархическая электроника
Сергій Tolmeros
Из H или из L ?
Из H. Если ADLAR=1 и хватает 8 бит — читаешь только Н, если полный диапазон — L, H.
источник

СT

Сергій Tolmeros... in Анархическая электроника
ок, пасиба
источник

СT

Сергій Tolmeros... in Анархическая электроника
Al
он всегда ноль
источник

A

Al in Анархическая электроника
карашо был не прав
источник

СT

Сергій Tolmeros... in Анархическая электроника
Soad
Сейчас пробую вручную запускать и опрашивать нужные входы, но это все происходит в процессе "изучения" даташита. Не пинайте
возможно проблема с переключением admux в режиме free run
https://www.avrfreaks.net/forum/changing-admux-while-adc-free-running-mode
источник