cześć, zna ktoś z Was dokładną wartość 'podswatowego' kwarcu w ATmaga32? Ponieważ wyliczyłem (chyba że źle policzyłem,dlatego pokazuje algorytmy) ile cykli musi minąć żeby odczekać sekundę, ale nawet na oko to trwa więcej niż minute, a nie mam oscyloskopu żeby sprawdzić
i pod w Delphi w którym szukałem tego czasu
Cytat:w tym przypadku czas wykonania podprogramu powinno wynosic 0,999997 sekundy (jeśli brne zajmuje 1 cykl)sekunda:
petla1:
inc r17 ; 1 takt
petla2:
inc r18 ; 1 takt
sto_u:
inc r19 ; 1 takt
cpi r19,32 ; 1 takt
brne sto_u ; 1/2 takt
ldi r19,0 ; 1 takt
cpi r18,102 ; 1 takt
brne petla2 ; 1/2 takt
ldi r18,0 ; 1 takt
cpi r17,98 ; 1 takt
brne petla1 ; 1/2 takt
ldi r17,0 ; 1 takt
ret ; 4 takty
i pod w Delphi w którym szukałem tego czasu
program Project1;
uses
SysUtils,
Dialogs;
{$R *.res}
var
licznik: integer;
licznik1,licznik2,licznik3: integer;
begin
licznik:= 0 ;
for licznik1 := 1 to 98 do
begin
licznik := licznik + 3;
for licznik2 := 1 to 102 do
begin
licznik := licznik + 3;
for licznik3 := 1 to 32 do
begin
licznik := licznik + 3;
end;
licznik := licznik + 1;
end;
licznik := licznik + 1;
end;
licznik := licznik + 1;
licznik := licznik + 4; // ret
showmessage(inttostr(licznik));
end.