Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 21 kwi 2025, o 11:56


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 6 mar 2019, o 14:58 
    Offline
    Nowy

    Dołączył(a): 09 gru 2014
    Posty: 9
    Pomógł: 0

    Witam, mam dziwny problem gdyż gdy wezmę jakikolwiek program z BB/GB to muszę zmienić w plikach nagłówkowych z *.h na *.c
    czyli np z BB 03_Multi_LED
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Cytuj:
    avr-gcc.exe -Wall -gdwarf-2 -fsigned-char -MD -MP -DF_CPU=1000000 -O1 -mmcu=atmega32 -o "main.o" -c "../main.c"
    avr-gcc.exe -mmcu=atmega32 -o "./Debug.elf" "main.o"
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: main.o: in function `main':
    D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:17: undefined reference to `d_led_init'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:20: undefined reference to `cy1'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:21: undefined reference to `cy2'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:22: undefined reference to `cy3'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:23: undefined reference to `cy4'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:45: undefined reference to `cy1'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:47: undefined reference to `cy2'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:49: undefined reference to `cy3'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:51: undefined reference to `cy4'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:45: undefined reference to `cy1'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:47: undefined reference to `cy2'
    c:/winavr-20100110/bin/../lib/gcc/avr/8.3.0/../../../../avr/bin/ld.exe: D:\avr\proteus\sterownik v2.0\ATMEGA32\Debug/../main.c:49: undefined reference to `cy3'
    collect2.exe: error: ld returned 1 exit status
    make: *** [Debug.elf] Error 1

    Error code 2

    nie działa a chyba ze zmienię
    #include "d_led.h"
    na
    #include "d_led.c"
    wtedy wszystko jest OK
    Korzystam z Proteus z WinAVR-20100110 oraz czasem z Programmers notepad i efekt ten sam.
    //dodam ze na innym komputerze jest ten sam efekt.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 mar 2019, o 16:23 
    Offline
    Nowy

    Dołączył(a): 09 gru 2014
    Posty: 9
    Pomógł: 0

    wszystko zostawiam tak jak M. Kardaś wiec tak jak w przypadku #include "d_led.c" nie ma osobnego folderu.
    Dla #include "LCD/lcd44780.h" jest osobny o nazwie "LCD".



    //Mój głupi błąd, przez pare lat żyłem w nieświadomości że pomimo #include w main.c w programie muszą być otwarte wszystkie pliki *.c.
    Więc jak otwierałem tylko main to kompilacja nie przechodziła. Jak otwieram każdy plik osobno a potem kompiluje main to przechodzi:D

    Tak wyglądający projekt działa już poprawnie.
    Obrazek

    //TEMAT MOŻNA ZAMKNĄĆ:)



    Ostatnio edytowano 6 mar 2019, o 16:31 przez komax3, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 mar 2019, o 16:30 
    Online
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    komax3 napisał(a):
    a chyba ze zmienię
    #include "d_led.h"
    na
    #include "d_led.c"
    wtedy wszystko jest OK

    Przepraszam nie bierz tego do siebie ale no okrutne bzdury piszesz - zamiana plików nagłówkowych *.h na źródłowe *.c to - mniej więcej jak operacja odcięcia głowy i zamiany jej z pupą - pewnie w ten sposób też dałoby radę żyć ale dwa pytania:

    1. jak długo ?
    2. czy organizm będzie poprawnie działać w każdym przypadku?

    to tak pół żartem ale też pół serio - bo w Bluebooku piszę WYRAŹNIE że NIGDY nie wolno tak robić, ba i wyjaśniam jeszcze dlaczego - a ty ZAMIAST szukać błędu w swoich działaniach - TRACH biegniesz po piłę żeby głowę odjąć ;)

    komax3 napisał(a):
    Korzystam z Proteus z WinAVR-20100110 oraz czasem z Programmers notepad i efekt ten sam.

    A nie znasz nowszych i porządnych narzędzi? jak ECLIPSE, nawet Atmel Studio, albo Code Blocks ?

    Toż jak robisz w notatniku to obstawiam że kompletnie być może nie wiesz co to jest plik sterujący kompilacją "makefile" i albo go w ogóle nie tworzysz albo źle go tworzysz ... Więc idąc tą drogą - nie dziwota, że wpadasz na tak drakońskie pomysły jak inkludowanie plików *.C a poprzez to tworzysz jakby jeden GIGANTYCZNY plik C który udaje się na zasadzie przypadku - skompilować.

    jeśli już piszesz, że wszystko zostawiasz tak jak M.Kardaś - to weź że sięgnij po ECLIPSE i gwarantuję ci że wszystko ruszy od pierwszego kopa

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 mar 2019, o 16:40 
    Offline
    Nowy

    Dołączył(a): 09 gru 2014
    Posty: 9
    Pomógł: 0

    Właśnie dla tego założyłem temat żeby nie odcinać głowy bo to logiczne że coś było nie tak jak miało być:)
    Jeżeli chodzi o kompilatory to próbowałem się przesiąść na Eclipse, ale mi nie spasował, spróbuje jeszcze z Atmel studio.
    W każdym bądź razie dziękuję i pozdrawiam:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 mar 2019, o 17:06 
    Online
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    komax3 napisał(a):
    spróbuje jeszcze z Atmel studio

    Albo o wiele lżejszy od obydwu wymienionych przeze mnie wcześniej CodeBlocks

    warto warto - dlatego - że nie trzeba myśleć o ręcznym rzeźbieniu makefile

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 mar 2019, o 19:23 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    A czemu nie MkClipse? Przecież to aż się prosi by skorzystać z tego super wygodnego narzędzia.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO