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

[ATMega32] [C] Problem z kompilacją - ethernet + LCD

sieradzkij 11 Gru 2009 15:07 1290 1
  • #1 7374490
    sieradzkij
    Poziom 11  
    Mam problem ze skompilowaniem zawartości pliku main.c. problem występuje przy odwołaniach do funkcji obsługującej LCD.

    Źródło pliku to: http://tuxgraphics.org/electronics/200702/article07021.shtml

    Natomiast w dołączonej do tego postu paczce zmienione zostały piny do których mam podpięty LCD i rodzaj procka na ATMege 32.
    W paczce są także programy testowe, które kompilują sie bez problemów. Ale gdy chce skompilowac zawartość main kopiując cały kod z main.c np do test_readSiliconRev.c to ukazuje sie bład: undefined reference to "....."

    Jak komuś uda się skopilować main.c to bardzo proszę opisać jak tego dokonał.
  • #2 7374831
    mirekk36
    Poziom 42  
    Witam,

    sorki że wcześniej nie odpisywałem (pisałeś do mnie na PW) ale nie za bardzo miałem jak.

    Odnośnie tematu - już dawno nie mam na tapecie tego układu więc będę odpowiadał/podpowiadał tylko tak z pamięci.

    Przede wszystkim co ty piszesz o jakichś kopiowaniach kodu z mainc.c czy też z którejś z wersji Test.c do test_readSiliconRev.c. To jakieś nieporozumienie z poplątaniem troszkę.

    Masz w tym folderze kilka różnych przykładów i każdy z nich możesz kompilować w celach testowych absolutnie oddzielnie (po choineczkę takie kombinacje robisz)

    Piszesz że z diodą też coś ci działa nie tak? a na jakiej podstawie tak twierdzisz? Niestety bardzo ale to bardzo mało informacji podajesz a chcesz żeby ci jakoś pomóc ..... tylko trzeba by się było domyślać co się tam u ciebie dzieje bo nawet komunikatu błędu całego nie podasz tylko w najistotniejszym miejscu kropki wstawiasz.

    Więc po kolei - po to wstawili tam tych kilka plików testX.c żeby sobie ładnie po kolei móc analizować co i jak ? i o co chodzi w kodzie. Na początek jest tylko miganie diodą LED, którą można sterować - właśnie! - wiesz w ogóle jak?

    Ja wprawdzie sam sobie napisałem aplikację w Delphi, która mogła się komunikować za pomocą protokołu UDP z tym układem i sam sobie z mojej aplikacji na PC - zapalałem i gasiłem tę diodę wysyłając odpowiednie komendy/polecenia po UDP. Tam jest wszystko to ładnie wyjaśnione itp.

    Oczywiście możesz nie mieć możliwości aby samemu narazie napisać taką aplikację ale za to masz tam gotową aplikację napisaną w języku C na PC. I za jej pomocą możesz też dokonać tych testów - tyle że musisz sobie poczytać dokładnie co i jak z tą aplikacją robić.

    Generalnie w czasie gdy bawiłem się tymi projektami z tuxgraphics - to wszystkie ładnie mi działały ale.....

    .... ale np ja nigdy nie używałem tego ich kodu do obsługi LCD tylko podłączałem swoje funkcje do obsługi LCD. Nie mówię, że te ich są złe - ale z drugiej strony sam piszesz że pozmieniałeś niezgodnie ze schematem podłączenia LCD (a na pewno wcale nie przeanalizowałeś dogłębnie tej ichniej obsługi LCD) a teraz się dziwisz że jakieś błędy ci lecą.

    Zacznij wszystko po kolei od kompilacji pierwszego test0.c i postaraj się go najpierw od początku do końca zrozumieć co on tam w środku robi , następnie w ten sam sposób analizuj każdy następny a nie tak na ślepo coś tam przekopiowujesz, kompilujesz, błędy lecą ale nie wiadomo jakie ;) no i pytasz o pomoc ;)

    Ja także robiłem to właśnie na ATmega32 z kwarcem 20MHz, 16MHz i zawsze ślicznie wszystko działało - nawet ten największy kod - czyli mini web serwer

    Popróbuj i daj znać co i jak - tylko tym razem dokładniej opisując co i jak - ok ? ;)
REKLAMA