Predkosc procka i ilosc rozkazow na sekunde

Aug 30, 2005 4 Replies

Hej!



Szybkie pytanie: mam, zalozmy, atmege8, zalozmy, ze pracuje przy 8MHz. Jesli 8MHz to 8 000 000 Hz to czy oznacza to, ze bede mogl zmienic stanu ktoregos z pinu z wysokiego na niski, lub odwrotnie, 8 milionow razy na sekunde? Czy moze mniej? A moze wiecej? ;-) Oczywiscie, niektore operacje zajmuja wiecej niz jeden cykl maszynowy, co jest jasne. Ale jak to jest ze zmiana stanow na pinach? 1 cykl?



Dzieki :-)



m.



Zajrzyj do działu "Instruction Set Summary", w tabeli będziesz miał kolumnę "#Clocks". Więcej ci nie podam boś leń ;-)

Skoro procek jest taktowany 8MHz, a instrukcja srednio wykonuje sie 1 cykl zegata, to znaczy, ze w ciagu 1s wykona 8mln. instrukcji. Niestety stan pinu nie bedziesz mogl zmieniac z taka sama predkoscia, bo zeby go zmienic musisz wykonac co najmniej 2 instrukcje: CBI i SBI. Tak naprawde to trzeba to jakos zapetlic jeszcze, a wiec instrukcja skoku by sie przydala, a to juz 2 dodatkowe takty. Czyli w sumie 4 takty, czyli max osiagniesz 2MHz na pinie. Moze przez wbudowany timer bedzie wiecej, nie pamietam, a nie chce mi sie szukac w datasheecie, bo sam mozesz to zrobic ;P

Ta, len od razu. Raczej nie mialem jak tego zrobic, bo jechalem przez modem i ssalo cale 2kB/s, wiec awaryjnie, rzadny wiedzy, zapytalem.

Teraz moge zedrzec, moim super nowiutkim DSLem 8Mb :-)

dzieki, m.

2kB/s to wcale nie tak mało ,

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required