Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmel Studio 6 _delay_ms()

derss 15 Lip 2014 23:46 1656 8
  • #1 15 Lip 2014 23:46
    derss
    Poziom 7  

    Witam od kilku dni borykam się z problemem funkcji _delay_ms() w Atmel Studio 6

    Mój kod wygląda tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Zaznaczę jeszcze że mam ustawiony F_CPU w opcjach projektu a także ustawiona optymalizacje na (-os)

    Wszystko kompiluje się bezproblemowo Ale kiedy dam mu symulacje to w momencie kiedy ma się wykonać funkcja delay program odsyła mnie do pliku delay.h

    Atmel Studio 6 _delay_ms()

    Dodam jeszcze że jestem początkujący :|
    Proszę o szybką pomoc już nie wiem co mam źle
    ~Symuluje Atmege8

    0 8
  • #2 16 Lip 2014 01:05
    excray
    Poziom 39  

    W jaki sposób przechodzisz kolejne kroki w symulacji? Klawiszem F10/F11?

    0
  • #3 16 Lip 2014 02:15
    derss
    Poziom 7  

    Używam klawisza F11

    0
  • #4 16 Lip 2014 02:19
    excray
    Poziom 39  

    Tam gdzie nie chcesz wchodzić w głąb funkcji używaj F10. Licz się z tym że czas symulacji opóźnień będzie długi. Najlepiej na czas symulacji zakomentuj wszelkie większe opóźnienia.

    0
  • #5 16 Lip 2014 02:24
    derss
    Poziom 7  

    Niestety nadal występuje ten sam problem :cry:

    0
  • #6 16 Lip 2014 02:43
    excray
    Poziom 39  

    Jak już pisałem - zakomentuj sobie opóźnienia. Symulowanie opóźnień jest bez sensu. Albo przełącz się na okienko Disassembly i obserwuj symulację w komendach asemblerowych.

    0
  • Pomocny post
    #7 16 Lip 2014 09:19
    tmf
    Moderator Mikrokontrolery Projektowanie

    derss napisał:
    Niestety nadal występuje ten sam problem :cry:


    Problem wystąi niezależnie czy naciśniesz F10 czy F11 bo funkcje delay są inlinowane, więc co prawda tego nie widzisz, ale ich ciało jest osadzane w miejscu wywołania. Najlepiej ustawić breakpointa za delay i dać F5. A jeszcze lepiej zrobić tak, żeby dla celu debug przy symulacji preprocesor wywalał delay.

    0
  • #8 16 Lip 2014 11:13
    derss
    Poziom 7  

    tmf napisał:
    derss napisał:
    Niestety nadal występuje ten sam problem :cry:


    Problem wystąi niezależnie czy naciśniesz F10 czy F11 bo funkcje delay są inlinowane, więc co prawda tego nie widzisz, ale ich ciało jest osadzane w miejscu wywołania. Najlepiej ustawić breakpointa za delay i dać F5. A jeszcze lepiej zrobić tak, żeby dla celu debug przy symulacji preprocesor wywalał delay.


    Ta opcja jest w toolchainie? w sekcji preprocesor jest coś mało opcji :cry:

    0
  • #9 16 Lip 2014 11:36
    gaskoin
    Poziom 38  

    Tak, w Atmel studio na pewno beda opcje wywalania kazdej linijki kodu w trybie debug jaka tylko Ci sie wymarzy...

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  Szukaj w 5mln produktów