Cześć wszystkim!
Otóż pierwszy raz mam taki problem z odczytem napięcia...
Po uruchomieniu czegoś takiego:
Wyświetlane napięcie pływa w zakresie 100%X...90%X,
gdzie X to poprawna wartość odczytu.
Pomiar miernikiem mówi, że odczytywane napięcie jest stabilne jak skała,
napięcie referencyjne również (używam ADC_REFERENCE_AVCC).
Zmiana prescalera w zakresach PRESCALE_DIV2...ADC_PRESCALE_DIV128
nic nie zmienia w kwestii głębokości tętnień.
Co ciekawe zmiana ów prescalera bądź wartości delaya w pętli zmienia częstotliwość tętnień.
Wygląda więc to na jakąś interferencję - tak jakby zaniżone wartosci przypadały na określone cykle pracy procesora...
Wiecie co może być przyczyną?
Ja już powoli wymiękam
Otóż pierwszy raz mam taki problem z odczytem napięcia...
Po uruchomieniu czegoś takiego:
while(1){
ADC_set_channel(2);
ADC_start_convert();
if(ADC_is_complete())voltage=(ADC_convert_10bit(2));
LCD_GoTo(0,0);
LCD_writeU16(voltage);
delayms(30);
}
Wyświetlane napięcie pływa w zakresie 100%X...90%X,
gdzie X to poprawna wartość odczytu.
Pomiar miernikiem mówi, że odczytywane napięcie jest stabilne jak skała,
napięcie referencyjne również (używam ADC_REFERENCE_AVCC).
Zmiana prescalera w zakresach PRESCALE_DIV2...ADC_PRESCALE_DIV128
nic nie zmienia w kwestii głębokości tętnień.
Co ciekawe zmiana ów prescalera bądź wartości delaya w pętli zmienia częstotliwość tętnień.
Wygląda więc to na jakąś interferencję - tak jakby zaniżone wartosci przypadały na określone cykle pracy procesora...
Wiecie co może być przyczyną?
Ja już powoli wymiękam
