Chcę zastosować ATMega8 i wewnętrzne przetworniki A/C. Pomiar ma być dokonywany z dwóch kanałów. Ma to wyglądać tak że kanał jest podawany jako argument w funkcji (program w C).
Kod: Zaznacz cały
unsigned int adc(unsigned char kanal);
{
ADMUX=0x40 | kanal;
ADCSR|=0x40;
while((ADCSR&0x40)!=0);
return ADC;
}
Natomiast nie mogę znaleść nic na temat ile czasu potrzebuje przetwornik po zmianie kanału wejsciowego na ustabilizowanie się zanim można rozpocząć konwersję.
Inaczej mówiąc czy po zmianie kanału wejściowego mogę od razu wpisać 1 do ADSC czyli rozpocząć pomiar jak w funkcji adc().
Samo wywołanie ma byc tak realizowane:
Kod: Zaznacz cały
while(1){
dana1=adc(1); //odczyt z kanału 1
dana2=adc(2); //odczyt z kanału 2
}