logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[At8][C]Błędy komplikacji programu

brad12 05 Lip 2011 23:09 2651 10
  • #1 9686833
    brad12
    Poziom 10  
    Witam mam problem z programem
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
      
    po skomplikowaniu tego programu otrzymuje takie errory
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Mój plik hd44780.c wygląda tak
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    A plik HD44780.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Nie mam pomysłu co tu jest nie tak więc proszę was forumowicze o pomoc z tym programem
    Pozdrawiam Brad12
  • Pomocny post
    #2 9687079
    kiziu13
    Poziom 17  
    To jedziem:
    1. warning: "F_CPU" redefined - redefinicja stałej preprocesora. Masz już wpisane w konfiguracji projektu na jakiej częstotliwości będzie pracował µK, więc z reszty plików możesz usunąć tę definicję.
    2. main.c:10: warning: suggest parentheses around arithmetic in operand - mieszasz operatory binarne o różnych priorytetach (BIT-OR i BIT-AND), toteż kompilator "podejrzewa", że coś jest nie tak. Nie widzę sensu w wyłączaniu bitów w rejestrze, skoro wpisujesz do niego całą nową wartość, a nie korzystasz z wcześniejszej.
    3. warning: left-hand operand of comma expression has no effect - pomyliłeś operator przecinkowy ze znakiem dziesiętnym. W C kropka jest separatorem części całkowitej i ułamkowej.
    4. warning: implicit declaration of function 'LCD_Initilaize' - błędy kompilacji w pliku zawierającym deklarację tej funkcji spowodowały, że nie została ona zadeklarowana, ergo nie istnieje. Po naprawieniu plików samo zniknie.
    5. error: 'PA0' undeclared (first use in this function) - nie ma takiej stałej. Atmega8 ma tylko porty B, C i D, toteż taka stała nie istnieje.
  • #3 9687089
    brad12
    Poziom 10  
    Dobrze ale ja nigdzie nie ustawiałem portu PA0 nie wiem skąd komplikator wziął ten port
  • #4 9687099
    kiziu13
    Poziom 17  
    Z pliku HD44780.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Mogłeś chociaż trochę się wysilić przy modyfikacji czyjegoś kodu.
  • #5 9687102
    gaskoin
    Poziom 38  
    ja widzę, że w HD44780.h jest jak wół.
  • #6 9687103
    drzasiek
    Specjalista CNC
    Jak to nie. A tutaj co masz?
    
    #define LCD_E			(1 << PA0)
    


    Dodano po 35 [sekundy]:

    O i mnie uprzedziliscie :)
  • #7 9687116
    brad12
    Poziom 10  
    o kurde czeski błąd już naprawiam ale teraz ma takie errory
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #8 9687133
    kiziu13
    Poziom 17  
    Masz źle skonstruowany makefile. Korzystasz z AVRStudio? Jeśli tak, to czy wszystkie pliki są obecne w drzewie projektu?
  • #9 9687146
    brad12
    Poziom 10  
    Korzystam z winavr i dodawałem tam HD44780.c ale dla pewności dodam plik makefile
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #10 9687182
    dondu
    Moderator na urlopie...
    brad12 napisał:
    Korzystam z winavr ... ale dla pewności dodam plik makefile


    A czemu nie z AVR Studio? Po co się męczyć z makefile i dodatkowo wklejać tutaj - korzystaj z najnowszych narzędzi, to i kłopotów będzie mniej.
  • #11 9687184
    brad12
    Poziom 10  
    To jednak nie błąd Mfile tylko mój w funkcji było jedno i za wiele dziękuję wszystkim za pomoc i zamykam temat.
REKLAMA