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? 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 29 lip 2025, o 09:18


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
    Autor Wiadomość
    PostNapisane: 5 gru 2012, o 23:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lis 2012
    Posty: 41
    Lokalizacja: Gdańsk
    Pomógł: 1

    Witam.
    Od niedawna jestem posiadaczem książki "Mikrokontrolery AVR język C podstawy programowania". Od jakiegoś czasu nurtuje mnie pewne pytanie, ale nie mogę nigdzie znaleźć odpowiedzi. Mianowicie chciałem poprawnie tworzyć pliki projektów *.c oraz nagłówkowe *.h. Niestety jeśli w pliku main.c nie załączę pliku *.c program nie kompiluje się, błąd:"Error 1 undefined reference to `dodawanie' " - nie rozpoznaje funkcji z pliku *.c. Gdy plik jest załączony w main.c w postaci #include "*.c" kompilacja przebiega poprawnie. Dla upewnienia się sprawdziłem też z gotowym projektem z książki modułu LCD. Aby program się skompilował musiałem dodać poprawki w postaci dodania w pliku main.c #include "LCD/lcd44780.c. Dziwi mnie to gdyż w książce wyraźnie jest napisane że należy zapomnieć o deklarowaniu plików *.c. Proszę o wskazówki do rozwiązania opisanego problemu. :?:



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 gru 2012, o 00:04 
    Offline
    Moderator
    Avatar użytkownika

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

    No i bardzo słuszne są te uwagi w książce - żeby nie inkludować plików *.c a ty to robisz i się dziwisz :(

    Po pierwsze zostaw w diabły AVR Studio
    Po drugie zajrzyj na DVD dołączone do książki i do folderu Lekcje VIDEO
    Obejrzyj tych kilka pierwszych lekcji VIDEO
    Na ich podstawie uruchom ECLIPSE z DVD
    Na DVD masz też pięknie wszystkie projekty właśnie w Eclipse zrobione jak się należy

    i wtedy ćwicz po kolei z książką - i jeszcze raz powtórzę, ZAPOMNIJ o inkludowaniu plików *.c, a jeśli uważasz że tak ci działa - no to ja już przecież dalej cię nie przekonam :(

    Tymczasem zobaczysz że każdy projekt w Eclipse na DVD jest poprawnie zbudowany, ma WSZYSTKO poprawnie zainkludowane i działa - więc będziesz miał się z czego uczyć

    AVR Studio to utrapienie - przynajmniej na tym etapie nauki

    OK - jak zaczniesz w Eclipse i wtedy będzie coś niejasne to śmiało pisz - zawsze chętnie pomogę ale jestem pewien, że w Eclipse szybko znajdziemy wspólny język ;) zobaczysz

    _________________
    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 gru 2012, o 00:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lis 2012
    Posty: 41
    Lokalizacja: Gdańsk
    Pomógł: 1

    Od dłuższego czasu miałem zainstalowane właśnie AVRStudio. Przyzwyczaiłem się do interfejsu i nie potrzebowałem zmian. Będzie też Eclipse. Na to forum zaglądam od niedawna, ale pierwsze co widzę to nagonka na AVRStudio. Nie neguję, że być może zasłużone baty zbiera, ale końcu też jest to środowisko do programowania (lepsze czy gorsze). Zastanawiało mnie tylko jaki jest powód dla którego nie należy dodawać do main plików z rozszerzeniem *.c i w jaki sposób go dodaje kompilator w Eclipse skoro w pliku *.h nie ma do niego odniesienia.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 gru 2012, o 00:47 
    Offline
    Moderator
    Avatar użytkownika

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

    Nie ma nagonki na arr studio, tylko po prostu w eclipse jest mi łatwiej wytłumaczyć wiele rzeczy początkującym ale jak ktoś się zaprzesz to co ją poradzę ?

    A to nie jest kwestia eclipse czy arr studio panie kolego że nie konkluduje się plików *.c tylko kwestia kompozytora C i nieznajomości jego działania. W dużym skrócie o plikach *.c wie on z pliku sterującego makefile. Bo to w nim środowisko dodaje pliki tyle że w sposób dla ciebie niewidoczny na pierwszy rzut oka. I teraz zaczynają się różnice pomocy eclipse i ars. Ale jak mœwiłem ja mogę dalej pomagać jak zdecydujesz się na eclipse. A jak się nauczysz i rozumiesz to wtedy pisz w czym chcesz nikt ci nie broni

    ------------------------ [ Dodano po: 2 minutach ]

    Sroki za dziwne znaki ale piszę z telefonu

    _________________
    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 gru 2012, o 08:52 
    Offline
    Użytkownik

    Dołączył(a): 16 maja 2012
    Posty: 349
    Lokalizacja: Legnica
    Zbananowany użytkownik

    Pomógł: 23

    To ja się podepnę z pytaniem. Czy jest możliwe w Eclipse aby w kartotece projektu znajdowały się pliki *.c których Eclipse automatycznie nie dorzuci do kompilacji? Chodzi mi o sytuację gdzie mam w kilku plikach *.c różne warianty tej samej funkcji i chciałbym je sobie testowo podmieniać. I pokrewne pytanie. Czy jest możliwe usunięcie z projektu pliku *.c bez jego fizycznego kasowania z dysku. Automatyka Eclipse w kontekście make jest fajna ale trochę pozbawia kontroli, Być może o czymś nie wiem.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 gru 2012, o 10:25 
    Offline
    Moderator
    Avatar użytkownika

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

    perlon napisał(a):
    Automatyka Eclipse w kontekście make jest fajna ale trochę pozbawia kontroli, Być może o czymś nie wiem.


    No właśnie kolega czegoś nie wie. A specjalnie już w pierwszym projekcie na DVD (miganie diody LED) nie bez kozery odwołuję się właśnie do takiej możliwości Eclipse, swobodnego włączania lub wyłączania plików z projektu. Bo właśnie w tym celu się to wykorzystuje - dokładnie to o czym kolega pisze, aby móc na szybko np stworzyć inny plik main.c dla testu

    służy do tego opcja

    "EXCLUDE FROM BUILD"

    i pokazuję jak się nią posługiwać w pierwszej lekcji VIDEO na DVD dołączonym do książki - zaglądał kolega do tych lekcji ?

    _________________
    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: 17 gru 2012, o 19:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lis 2012
    Posty: 41
    Lokalizacja: Gdańsk
    Pomógł: 1

    Postanowiłem że będę korzystać jednocześnie z obu środowisk. Poniżej dla zainteresowanych zamieszczam odpowiedz na moje pytanie: konfigurację częstotliwości taktowania procesora F_CPU w pliku makefile oraz dołączanie istniejących bibliotek z innych plików w projekcie w AVRStudio6 (np. import z workspace z ECLIPSE).

    Aby ustawić częstotliwość taktowania procesora F_CPU w pliku makefile należy:
    1. W menu Project wybrać opcję main Properties...
    Obrazek

    2. Wybrać zakładkę Toolchain a w niej AVR/GNU C Compiler -> Symbols oraz przycisk Add Item
    Obrazek

    3. Teraz należy zdefiniować wybraną częstotliwość taktowania procesora w postaci F_CPU=8000000UL [np.8MHz] i nacisnąć OK.
    Obrazek

    Po zatwierdzeniu częstotliwość taktowania jest zdefiniowana na stałe w projekcie w pliku makefile i nie musimy jej includować w pliku main.
    Obrazek


    Dołączanie plików nagłówkowych *.h oraz plików z funkcjami *.c z innych plików projektu:

    Po stworzeniu nowego projektu wygląda on następująco:
    Obrazek

    Opcja dodawania do projektu nowych plikiów nagłówkowych *.h oraz plików *.c zawierających funkcje nie jest podświetlona, ...
    Obrazek

    ... aby ją włączyć należy otworzyć okno właściwości projektu (Menu Project -> main Properties Alt+F7) po tej operacji przycisk będzie już podświetlony:
    Obrazek

    Następnie można do projektu dołączyć potrzebne pliki, które będą po tej operacji widoczne w oknie "Solution Explorer"
    Obrazek

    Mam nadzieję że opis może się komuś przydać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2012, o 20:12 
    Offline
    Moderator
    Avatar użytkownika

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

    Tak, tylko że jeszcze przydałyby się foldery a nie wszystkie pliki projektu wrzucać do głównego folderu - bo wyjdzie kaszanka :(

    _________________
    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: 17 gru 2012, o 20:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lis 2012
    Posty: 41
    Lokalizacja: Gdańsk
    Pomógł: 1

    Tak to moja wina, na szybkości zaimportowałem pliki tylko do głównego folderu projektu.
    Nowy folder łatwo utworzyć w Solution Explorer i do niego wtedy wrzucamy pliki od danej biblioteki wtedy projekt staje się bardziej przejrzysty. :D

    Obrazek

    Teraz wracam do zajęć z ECLIPSE :), Małe problemy z wykrywaniem programatora, prawdopodobnie nie obejdzie się bez programowania wsadu dla AVRDude. :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2012, o 20:53 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ani z Dragonem , ani MKII ani FTDI , ani z USBASP nie miałem pod Eclipse problemu nigdy że nie wspomne o J-Linkach , St-Linkach, Segerach, OPEN-OCD, CCDEbugerach i innych ....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2012, o 21:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 lis 2012
    Posty: 41
    Lokalizacja: Gdańsk
    Pomógł: 1

    Niestety u mnie jak zwykle pod górkę. Robię nawet krok po kroku z lekcji video i go nie wykrywa. Mam AVRISP mkII kupiony jakiś rok temu i z AVRStudio śmiga bez kłopotów. Pomimo że to klon AVRStudio go wykrywa. W ECLIPSE dodaję nowy i wybieram ATMEL AVRISP mkII. Podczas próby porgramowania wyrzuca błąd "operation timeout". Nie jestem pewny czy to tyko jakiś błąd w ustawieniach. Muszę poszukać w jego dokumentacji, bo pamiętam że do pracy z AVRDude trzeba go chyba przeprogramować. :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 gru 2012, o 09:42 
    Offline
    Użytkownik

    Dołączył(a): 16 maja 2012
    Posty: 349
    Lokalizacja: Legnica
    Zbananowany użytkownik

    Pomógł: 23

    Ja jeszcze w temacie dodawania/odejmowania plików do projektu. Opcja Exlude from Build działa ale w drugą stronę trochę nie bardzo.
    Obrazek
    Obecnie używam Indigo.

    ------------------------ [ Dodano po: 7 minutach ]

    Już znalazłem lecz obsługa sory ale nie jest "intuicyjna". Trzeba w opcji Exclude from Build odznaczyć konfigurację żeby na powrót plik został dołączony do projektu. A wydawałoby się że powinna do tego służyć opcja obok czyli Reset to deafault. No i trzeba jeszcze zrobić Refresh na projekcie bo przekreślenia na dodanych powrotnie plikach same nie znikają.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 gru 2012, o 10:08 

    Pomógł: 0

    swibno napisał(a):
    Niestety u mnie jak zwykle pod górkę. Robię nawet krok po kroku z lekcji video i go nie wykrywa. Mam AVRISP mkII kupiony jakiś rok temu i z AVRStudio śmiga bez kłopotów. Pomimo że to klon AVRStudio go wykrywa. W ECLIPSE dodaję nowy i wybieram ATMEL AVRISP mkII. Podczas próby porgramowania wyrzuca błąd "operation timeout". Nie jestem pewny czy to tyko jakiś błąd w ustawieniach. Muszę poszukać w jego dokumentacji, bo pamiętam że do pracy z AVRDude trzeba go chyba przeprogramować. :(

    Dopisz we własciwościach wybranego AVRISP mkII polecenie -USB



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 gru 2012, o 10:39 
    Offline
    Moderator
    Avatar użytkownika

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

    perlon napisał(a):
    Już znalazłem lecz obsługa sory ale nie jest "intuicyjna". Trzeba w opcji Exclude from Build odznaczyć konfigurację żeby na powrót plik został dołączony do projektu. A wydawałoby się że powinna do tego służyć opcja obok czyli Reset to deafault. No i trzeba jeszcze zrobić Refresh na projekcie bo przekreślenia na dodanych powrotnie plikach same nie znikają.


    Jest ta opcja intuicyjna i to bardzo - no.... tylko trzeba chcieć ją zrozumieć i zrozumieć działanie. Poza tym to NIE JEST OPCJA jak kolega pisał

    dodawania/odejmowania plików do i z projektu

    i stąd pewnie w głowie kolegi takie zamieszanie :(

    "Exculde from Build" jak sama nazwa wskazuje oznacza "WYŁĄCZANIE" ale też jest tam WŁĄCZANIE - i to włączanie/wyłączanie nie tylko pojedynczych plików ale całych folderów.

    To jest różnica panie kolego - tzn włączanie/wyłączanie różni się od dodawania/odejmowania plików do i z projektu.

    To drugie czyli dodawanie/odejmowanie plików/folderów z projektu możemy dokonywać na dwa sposoby - albo ręcznie (tworząc lub kasując pliki i foldery) albo poprzez opcję IMPORTU.

    Jak się to zrozumie to pewnie się troszkę inaczej poukłada to wszystko w głowie i mam nadzieję, że lepiej .... dlatego to wszystko tu opisuję. Zresztą nie tylko tu - czy oglądał kolega lekcje VIDEO na płycie DVD dołączonej do pierwszej książki ??? ... bo tam również DOKŁADNIE to pokazuję i omawiam.

    Spróbuj więc porównać te wszystkie omówione tutaj opcje z samym kocim AVR Studio hmmm tzn jak ktoś sobie porówna to może zrozumie dlaczego ja np wolę i szczerze polecam wciąż ECLIPSE niż AVR Studio.

    Owszem te opcje mogą być mało istotne dla osób które dopiero zaczynają pisać swoje programy albo piszą niewielkie i często jedno czy dwu- lub kilku-plikowe projekty

    Za to jak się ktoś dalej rozpędzi i będzie tworzył większe - hmmm takie fajne potworki - to dopiero wtedy w 100% doceni to co jest w Eclipse ....

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 15 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO