RTV forum PL | NewsGroups PL

Ile cykli zegara zajmuje wykonanie procedury w procesorach AVR w C?

Jak policzyć ile cykili zegara wykonuje sie procedu ra

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Ile cykli zegara zajmuje wykonanie procedury w procesorach AVR w C?

bobofrut
Guest

Mon Aug 23, 2010 12:46 pm   



Witam wszystkich,
Pytanie jak w tytule, mam procesorek z rodziny AVR i procedurę
napisaną w C. W jaki sposób można policzyć jak długo wykonuje się
procedura? Dodam tylko, ze AVR Simulator w AVR Studio ma możliwość
sprawdzenia ile cykli zegarowych potrzebuje procedura (i o to mi
chodzi), z tym że w przypadku np. konwersji ADC jest bezużyteczna bo
np. w jaki sposób przeskoczyć tego typu linie: while(!(ADCSRA &
(1<<ADIF))); w owym symulatorze.

Z góry dziękuje za wszelkie odpowiedzi.

Dykus
Guest

Mon Aug 23, 2010 12:46 pm   



Witam,

W dniu 2010-08-23 12:46, bobofrut pisze:

Quote:
z tym że w przypadku np. konwersji ADC jest bezużyteczna bo
np. w jaki sposób przeskoczyć tego typu linie: while(!(ADCSRA&
(1<<ADIF))); w owym symulatorze.

Nie wiem na ile symulator radzi sobie z przetwornikiem ADC, ale w
dokumentacji jest dokładnie opisane ile cykli zajmuje przetwarzanie
(pierwsze i kolejne), więc zawsze możesz wstawić NOPy, a jeśli dalsze
przetwarzanie zależne jest od wyniku, to można wstawić BreakPointy i
zmieniać wartości zmiennych... to tak mi przyszło na szybko do głowy.
Wszystko zależy jak bardzo skomplikowany masz problem...


--
Pozdrawiam,
Dykus.

EM
Guest

Mon Aug 23, 2010 4:42 pm   



Dykus pisze:
Quote:
Witam,

W dniu 2010-08-23 12:46, bobofrut pisze:

z tym że w przypadku np. konwersji ADC jest bezużyteczna bo
np. w jaki sposób przeskoczyć tego typu linie: while(!(ADCSRA&
(1<<ADIF))); w owym symulatorze.

Nie wiem na ile symulator radzi sobie z przetwornikiem ADC, ale w
dokumentacji jest dokładnie opisane ile cykli zajmuje przetwarzanie
(pierwsze i kolejne), więc zawsze możesz wstawić NOPy, a jeśli dalsze
przetwarzanie zależne jest od wyniku, to można wstawić BreakPointy i
zmieniać wartości zmiennych... to tak mi przyszło na szybko do głowy.
Wszystko zależy jak bardzo skomplikowany masz problem...


AVRSTUDIO radzi sobie z takim przypadkiem. W moim przykładzie wyszło
208us na konwersję.

Zakładasz pułapkę tam gdzie zaczynasz konwersję i po tym while, gdy
kończysz, zapodajesz RUN i już wiesz wszystko...

Pozdr
EM

elektroda NewsGroups Forum Index - Elektronika Polska - Ile cykli zegara zajmuje wykonanie procedury w procesorach AVR w C?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map