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.

ARM/LPC1768 - Błąd: implicit declaration of function 'if' is invalid in c99

sq9cyg 06 Lut 2014 10:24 1296 5
  • #1 06 Lut 2014 10:24
    sq9cyg
    Poziom 9  

    Witam.
    Jestem początkującym w ARM i C.
    DO tej pory AVR i Bascom i jakoś to szło.

    Pisząc dzisiaj prosty program do zabawy diodami (nieustraszony) napotkałem problem taki jak w temacie.
    Korzystam z uVision 5.
    Powyższy błąd wyskakuje w 2 linijkach z if i else.
    Co może być przyczyną?
    Kod programu:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 5
  • Pomocny post
    #2 06 Lut 2014 10:33
    mickpr
    Poziom 39  

    'If' a 'if' to ogromna różnica w C :)
    tak samo 'Else' i 'else'.
    Mają być małe literki!
    Poza tym co to za konstrukcja?

    Kod: c
    Zaloguj się, aby zobaczyć kod

    ; ma określoną funkcję w C/C++

    Poczytaj o instrukcji prostej i złożonej w C/C++
    np. tutaj: http://mst.mimuw.edu.pl/lecture.php?lecture=poc&part=Ch3

    Niestety Basic/Bascom uczy złych nawyków na przyszłość :(

    0
  • #3 06 Lut 2014 11:00
    sq9cyg
    Poziom 9  

    Poszły podziękowania.
    Poprawki i dioda przesuwa się tak jak powinna...

    Podpowiedź mi proszę co w tym kodzie może być jeszcze nie tak, nie chodzi mi o działanie ale kulturę pisania, przejrzystość kodu, etc.

    Obecnie działający kod wygląda tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #4 06 Lut 2014 11:11
    mickpr
    Poziom 39  

    Ogólnie mówiąc nie jest tragicznie.
    Pamiętaj, że optymalizator może usunąć pustą pętle FOR (a ta taka jest) w funkcji czekaj_ls. Wtedy migania nie będzie.
    Aby temu zapobiec - wstaw jakąś 'nieoptymalizowalną' instrukcję w pętlę. np.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #5 06 Lut 2014 12:24
    sq9cyg
    Poziom 9  

    Dziękuję za pomoc.

    0
  • #6 10 Lut 2014 12:43
    gaskoin
    Poziom 38  

    Jeśli kod będzie dłuższy, to możesz go trochę "zwinąć" :)

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0