eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Jak policzyć ile cykili zegara wykonuje sie procedura
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2010-08-23 10:46:37
    Temat: Jak policzyć ile cykili zegara wykonuje sie procedura
    Od: bobofrut <r...@g...com>

    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.


  • 2. Data: 2010-08-23 11:23:56
    Temat: Re: Jak policzyć ile cykili zegara wykonuje sie procedura
    Od: Dykus <d...@s...wp.pl>

    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...


    --
    Pozdrawiam,
    Dykus.


  • 3. Data: 2010-08-23 16:42:32
    Temat: Re: Jak policzyć ile cykili zegara wykonuje sie procedura
    Od: EM <e...@p...onet.pl>

    Dykus pisze:
    > 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

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: