Trudności z pomiarem ADC w AT90S4433 ? zawsze 0 na wyjściu, co może być nie tak?
AVR 90S4433 i jego niezawodny ADC
From: "Rafal Baranowski" <Rafal.Baranowski_at_nospam_bloknet.pl>
Subject: AVR 90S4433 i jego niezawodny ADC
Date: Tue, 17 Sep 2002 17:47:34 +0200
Witam!
Caly dzien walcze dzis z tym paskudztwem i dostaje bialej goraczki, wiec
postanowilem sie podzielic moim problemem z grupowiczami. :-)
Otoz mam sobie AT90S4433 co to niby ma na pokladzie 6-kanalowy ADC.
Myslalem, ze go polubie, ale z tego co widze on sie na mnie po prostu
uparl! ADC niby to dziala, a dostaje wartosc 0 cokolwiek bym nie przylaczyl
do jego wejscia. Zaznaczam, ze uklad jest zasilany poprawnie (AGND i AVCC
podlaczone) i ma zrodlo napiecia odniesienia 3,6V - wszystko pieknie jak w
datashit'cie, ktorego zreszta przeczytalem przed chwila po raz setny
pierwszy.
A oto kod w asm (A, ADL, ADH to jakies tam rejestry):
ldi A, 0b10000110 ; Wlaczamy ADC i ustawiamy preskaler na *1/64 przy
zegarze 8MHz
out ADCSR, A
ldi A, 0 ; Kanal nr 0
out ADMUX, A
sbi ADCSR, ADSC ; Startujemy
ADC_wait:
sbic ADCSR, ADSC ; Czekamy az skonczy
rjmp ADC_wait
in ADL, ADCL ; Sciagamy dane (10bit)
in ADH, ADCH
i co dostaje? zawsze 0! (sciagam to po RSie, a on dziala na 100%).
Probowalem tez z freerun mode oraz z usypianiem procesora w trakcie
konwersji i budzeniem przez przerwanie - zawsze to samo.
Jesli ktos bawil sie kiedys ADC tego procka, to bardzo prosze o
jakiekolwiek wskazowki. Moze mam wadliwy uklad??
Zdesperowany.
From: ter_haar <ter_haar_at_nospam_poczta.onet.pl>
Subject: Re: AVR 90S4433 i jego niezawodny ADC
Date: Tue, 17 Sep 2002 19:34:39 +0200
u mnie działa cóś takiego - bez problemu. Chcesz więcej to pisz na
priva, nie będziem grupy zaśmiecać.
PZD
Jacek.
interrupt [ADC_INT] void adc_isr(void)
{
#asm
push r30
push r31
#endasm
adc=ADCW;
#asm
pop r31
pop r30
#endasm
}
#pragma savereg+
void read_adc(unsigned char adc_input)
{
ADMUX=adc_input;
#asm
in r30,mcucr
cbr r30,__sm_mask
sbr r30,__se_bit
out mcucr,r30
sleep
cbr r30,__se_bit
out mcucr,r30
#endasm
}
From: "Rafal Baranowski" <Rafal.Baranowski_at_nospam_bloknet.pl>
Subject: Re: AVR 90S4433 i jego niezawodny ADC
Date: Tue, 17 Sep 2002 23:36:10 +0200
Jesli ktos bawil sie kiedys ADC tego procka, to bardzo prosze o
jakiekolwiek wskazowki. Moze mam wadliwy uklad??
Dobra, juz nieaktualne, w koncu dziala... Sorrki.
A co bylo - tego sam nie wiem - mialem na Vref Zenerke 3,6V (bo na
dokladnosci mi nie zalezy) - w desperacji zwieralem Vref do masy i do Vcc -
jak zwarlem do Vcc, nagle zaczelo dzialac (Zenerka sie spalila i na Vref
zrobilo sie 5V) - wsadzilem na szybko 4 diody w szereg jako Zenerke 3V i
dziala... Nic z tego nie kapuje - wczesniej na pewno na Vref bylo 3,6V i
nie dzialalo, a teraz dziala i na 5V i na 3V...
Rafal.