Cześć, mam kłopot z przetwornikiem analogowo-cyfrowym, po skonfigurowaniu skakała mi wartość wyjściowa z przetwornika więc postanowiłem zrobić uśrednianie, obsługa tego przetwornika wygląda teraz następująco:
I problem jest w tym że, takie uśrednianie jakie zrobiłem nic nie pomogło, wartości nadal tak samo skaczą, może popełniłem jakiś błąd w kodzie...
Podsuńcie mi jakiś pomysł jak to zrobić żeby te wartości nie skakały... Wartość 'temp' jest wyświetlana na wyświetlaczu.
Pozdrawiam
adc_conversion_complete:
push r16
push r17
in r16, SREG
push r16
push XL
push XH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ldsw X, adc_buff
in r16, ADCL
add XL, r16
in r16, ADCH
adc XH, r16
dec dec_buff
subi dec_buff, 0
in r16, SREG
sbrc r16, 1
rcall resetuj_dane
stsw adc_buff, X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pop XH
pop XL
pop r16
out SREG, r16
pop r17
pop r16
reti
resetuj_dane:
ldi dec_buff, 16
lsrw X
lsrw X
lsrw X
lsrw X
stsw temp, X
ldiw X, 0
stsw adc_buff, X
ret
I problem jest w tym że, takie uśrednianie jakie zrobiłem nic nie pomogło, wartości nadal tak samo skaczą, może popełniłem jakiś błąd w kodzie...
Podsuńcie mi jakiś pomysł jak to zrobić żeby te wartości nie skakały... Wartość 'temp' jest wyświetlana na wyświetlaczu.
Pozdrawiam
