ATNEL tech-forum
https://forum.atnel.pl/

Petla delay, problem zliczenia cykli
https://forum.atnel.pl/topic23448.html
Strona 1 z 1

Autor:  mozerpol [ 23 lis 2020, o 20:26 ]
Tytuł:  Petla delay, problem zliczenia cykli

Cześć
Mam taka pętle, która służy jako delay, niestety nie potrafię jej rozgryźć, ile cykli może łącznie trwać. Gubię się w obliczeniach, dlatego proszę o pomoc. Rozrysowałem sobie schemat blokowy, ale chyba nie pomogło, bo dalej źle wychodzi.
Jak przebiega mój proces myslowy...
3 + [3*18] + [(3*18)*17+3*17] + [(3*18)*17+3*17]*16+3*16 = 0,24 sek (ale to w rzeczywistości nie prawda). Czyli:
3 -> trzy pierwsze instrukcje LDI
[3*18] -> loop_1, R18 * 3
[(3*18)*17+3*17] -> R18 * 3 * R17 + R17 * 3
[(3*18)*17+3*17]*16+3*16 -> ( R18 * 3 * R17 + R17 * 3) * R16 + R16 * 3

Atmega328p, taktowanie 1 MHz. Tak, chce uzyc delay w takiej formie.
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Obrazek

Pozdrawiam i dziękuję za wszelka pomoc

Autor:  fofex [ 23 lis 2020, o 21:17 ]
Tytuł:  Re: Petla delay, problem zliczenia cykli

R18 po pierwszym obrocie sie przepełnia i 17 razy liczy 256, potem po wyzerowaniu R17, 16 razy wykonuje się 256 obrotów pętli R17 wewnątrz której R18 obraca 256 razy. Dla dopełnienia obrazu dodam że skoki BRNE zabierają czasem jeden a czasem dwa takty.
mozerpol napisał(a):
Tak, chce uzyc delay w takiej formie.

Powodzenia życzę, choć sukcesu nie przewiduję.

Autor:  mozerpol [ 25 lis 2020, o 22:37 ]
Tytuł:  Re: Petla delay, problem zliczenia cykli

Ok, dziękuje za odpowiedz.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/