[AVR-GCC] ATmega8 i licznik T2 podczas asynchronicznej pracy

Jul 01, 2004 10 Replies

Chce sobie ³adnie uruchomiæ licznik T2 na ATmega8, pojawi³ siê dla mnie niezrozumia³y problem, otó¿ po dodaniu linijki ASSR |= (1<<AS2); program mi nie dzia³a prawid³owo czyli nie mruga diod± (bez tej linijki wszystko dzia³a ok dioda mruga). ASSR |= (1<<AS2) ustawia T2 w tryb asynchronicznej pracy jest mi to potrzebne bo chce wprowadziæ pó¼niej uC w stan u¶pienia.



INTERRUPT (SIG_OVERFLOW2) { diode(1); // ta funkcja mruga diod± TCNT2=0; }



int main(void) { sleep(500); // odczekuje aby wszystko siê ustabilizowa³o



TIMSK &=~((1<<TOIE2)|(1<<OCIE2)); ASSR |= (1<<AS2); // bez tej linijki wszystko dzia³a jednak linijka ta musi byæ aby licznik dzia³a³ asynchronicznie TCNT2 = 0x00; TCCR2 = 0x07; while(ASSR&0x07); //Wait until TC2 is updated TIMSK |= (1<<TOIE2); sei();



while(1); return(0); }



Yyyy w³a¶nie wyczyta³em ¿e ;-) do takie pracy jest potrzebny zewnêtrzny oscylator którego nie mam ;-). Wobec tego mam inne pytanie czy jest jaka¶ inna mo¿liwo¶æ odmierzania czasu gdy uC jest w stanie u¶pienia ?

a przypadkiem do pracy asynchronicznej nie jest wymagany zewnetrzny kwarc????

a to nie jest tak, ze zegar pracuje niezaleznie i dopiero przerwanie zegara "wyrywa" procka ze snu??? sprawdz to...

No w³a¶nie po¶cik wy¿ej napisa³em ¿e zapomnia³em o tym kwarcu ;-)

Jak odpowiadalem nie widzialem tamtego postu :)

Tak, przelacz procek w tryb idle, a nie power-save. Wowczas pracuja timery i kontroler przerwan, a wiec nie ma problemu z okresowym budzeniem procesorka.

Pozdrawiam Piotr Wyderski

No niby tak ale w IDLE bierze bardzo du¿o pr±du ;(

Coz, albo rybki, albo akwarium: jesli zalezy Ci na malym poborze pradu, to szarpnij sie na ten kwarc zegarkowy... :-)

Pozdrawiam Piotr Wyderski

No tak tak tylko gdzie ja go teraz przylutuje jak p³ytka ju¿ zrobiona ;-)

Dnia pią 2. lipca 2004 22:08 BT napisał(a):

Nie znasz jeszcze pozycji na pająka? Pozycji słownika każdego elektronika, oczywiście ;-)

PZDR

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required