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 20 maja 2025, o 01:18


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 8 lis 2017, o 20:21 
    Offline
    Nowy

    Dołączył(a): 11 sie 2013
    Posty: 16
    Pomógł: 0

    Witam ,

    Dawno mnie tu nie bylo ... postanowilem wrocic do elektroniki . Nie posiadam ksiazki Pana Mirka, sprzedalem ja gdy rozstawalem sie z elektronika.

    Wlasnie zakupilem pelna wersje mkvcalculator, czekam na licencje :)

    A więc przejdzmy do rzeczy.

    Uzywam atmega328p na breadboardzie , oscylator 16 mhz. Plytka dziala , robione wedlug porad pana mirka. Mryganie dioda dziala, wykrywa mkv kalkulator , filtrowanie zasilania wedlug schematow od pana mirka.

    Utworzylem nowy projekt o nazwie "lcd" , dodalem biblioteke poprzez projekt>properties>c general>paths and symbols , pozniej add i tak oto moj projekt wyglada tak:

    Obrazek


    Napisalem prosty program , czesc na bazie informacji z internetu , biblioteki do lcd mam od niejakiego radzia. Nie posiadam juz ksiazki od atnela a narazie mnie nie stac na nowa wiec nie mam dostepu do bibliotek pana mirka, wiec kombinuje z tym co mam.

    Ponizej:

    hd44780.h
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    a tutaj

    hd44780.c

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Gdy kompiluje program bez instrukcji int main , eclipse kompiluje hexa, natomiast gdy dam prosty program zachowuje sie jakby nie widzial hd44780.c i instrukcji.

    Zdjecie:

    Obrazek


    Dodam iz porty w hd44780.h sa ustawione wedlug mojego schematu.
    Ps . probowalem biblioteki od tego radzia z rw i bez , w obu przypadkach mam ten sam problem.

    Czy moglbym prosic o pomoc z rozwiazaniem tego problemu.

    Pozdrawiam
    Jakub



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 20:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1034
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Coś mi się wydaje że sposób na dołączanie bibliotek jaki zastosowałeś jest niewłaściwy. Na początek w nowym projekcie stwórz oprócz pliku main.c, dwa pliki hd44780.c i taki sam plik hd44780.h (oczywiście wypełnij je właściwym kodem)i umieść je luzem obok pliku main.c. W początkowej sekcji main.c zainkluduj plik hd44780.h i powinno zadziałać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 21:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    xentis napisał(a):
    Coś mi się wydaje że sposób na dołączanie bibliotek jaki zastosowałeś jest niewłaściwy.


    Autorze wątku, w jakiś sposób skopiowałeś biblioteki do katalogu "include" ale wg mnie on nie jest dla użytkownika w ten sposób.

    Includowanie "hd4780.h" zadziałałoby wtedy, gdy pliki biblioteczne będą zaraz obok pliku main.c
    Brak pliku źródłowego hd44780.c w katalogu głównym projektu powoduje, że kompilator nie stworzy z niego obiektu hd44780.o zatem linker nie widzi funkcji lcd_write_txt.

    Twoje zamieszanie jest o tyle ciekawe, że kompilator widzi ten plik nagłówkowy, ale w katalogu C:/hd44780 :) i dlatego nie zgłasza błędu, ale nadal to jest źle :)

    Skopiuj wszystkie pliki biblioteczne .h .c do katalogu głównego projektu i wszystko ruszy.
    Skopiować możesz po prostu z dysku c poprzez ctr+c i ctr+v od razu do okienka Eclipse, jakby to był exsplorator windows.
    Podsumowując w katalogu głównym projektu musisz mieć:
    main.c
    hd44780.c
    hd44780.h

    ------------------------ [ Dodano po: 5 minutach ]

    Zealota napisał(a):
    Podsumowując w katalogu głównym projektu musisz mieć:
    main.c
    hd44780.c
    hd44780.h


    Z drugiej strony zrób eksperyment. Linię:
    #include "hd44780.h" zamień na:
    #include <hd44780.h>

    a plik źródłowy hd44780.c skopiuj obok main.c.

    Deklarację sobie linker pobierze z katalogu na dysku C, a ciało funkcji pojawią się w obiekcie hd44780.o :
    Oczywiście w tym wypadku to nie jest dobre rozwiązanie i nie należy tak robić, na pewno nie na poczatku :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2017, o 22:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 gru 2014
    Posty: 77
    Lokalizacja: Gorlice
    Pomógł: 5

    Sama konfiguracja portów dla LCD jest pomieszana, Zdecyduj się który port używasz A czy D,
    Tak wygląda Twoja konfiguracja
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    a tak radzia
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    widzisz różnice więc jak ma zadziałać, i jak wyżej kolega napisał includowanie plików lcd narmalna magia, zrób folder LCD do niego wrzuć pliki HD44780.c i h w ten sposób + includowanie

    ObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 07:54 
    Offline
    Nowy

    Dołączył(a): 11 sie 2013
    Posty: 16
    Pomógł: 0

    Xentis , Zealota sprawdze to jak tylko wroce z pracy.
    Andrzej z ustawieniem bibliotek masz racje, lecz co do konfiguracji pinow mozna je edytowac , jest mi tak wygodnie wpiac to w breadboard ,nie musza one byc jak w lib od radzia, po to masz define aby nadac swoje wlasne porty . Postaram sie jednak dac wszystkie piny na jednakowym porcie, sprawdze jeszcze raz czy skladnia jest okey.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 10:45 
    Offline
    Użytkownik

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

    Nie o to chodzi. Masz różne definicje portow dla RS_PORT i RS_DIR - odwoluja sie do rejestrów różnych portów!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 10:57 
    Offline
    Moderator
    Avatar użytkownika

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

    Ja polecam przede wszystkim zacząć od książki:

    http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

    wtedy stanie się to wszystko jasne i przejrzyste - nie będzie trzeba próbować czy zadziała "może tak" ... a może siak, a może jeszcze inaczej ... są proste zasady które mówią o tym jak dzielić projekt na pliki - w tej książce jest to ładnie przedstawione i mnóstwo innych rzeczy

    _________________
    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: 9 lis 2017, o 18:51 
    Offline
    Nowy

    Dołączył(a): 11 sie 2013
    Posty: 16
    Pomógł: 0

    Witam,

    Dziekuje za pomoc, dziala.
    Biblioteki w folderze glownym projektu , oraz popasowanie pinow i portow.

    Panie Mirku ja juz tą ksiązkie juz mialem kiedys, jest super, szkoda ze nie ma jej w wersji pdf , mieszkam w holandii wiec z wysylka bedzie problem.


    Skoro juz piszemy o lcd, to mam jeszcze jedno pytanie, nie dziala mi petla z napis pojawia sie i znika , oto kod:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Z diodami delay dziala a tu nie ...
    Zestaw , atmega 328p , 16 MHz

    Pozdrawiam
    Jakub



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 18:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2014
    Posty: 1540
    Pomógł: 269

    Spróbuj tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 19:01 
    Offline
    Nowy

    Dołączył(a): 11 sie 2013
    Posty: 16
    Pomógł: 0

    Dziekuje i pozdrawiam :)
    Mozna zamknac



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 19:06 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    A jak ma nie znikać, skoro po delay czyścisz wyświetlacz

    Wysłane ze srajfona

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2017, o 19:59 
    Offline
    Moderator
    Avatar użytkownika

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

    Jakub321 napisał(a):
    Panie Mirku ja juz tą ksiązkie juz mialem kiedys, jest super, szkoda ze nie ma jej w wersji pdf , mieszkam w holandii wiec z wysylka bedzie problem.

    sorki, ale jak przeczytałem, że przesyłka do Holandii, czyli prakycznie "za miedzę" będzie problemem to o mało co nie zakrztusiłem się ze śmiechu ;) Bez urazy ale kolega pisze jakbyśmy żyli w czasach co najmniej średniowiecza ;)

    Tymczasem nie tylko książki ale i zestawy wysyłamy do klientów w takich zakątkach świata jak:

    - RPA
    - Jakarta
    - Australia
    - Kanada
    - Abu Dhabi (Emiraty)
    - Argentyna
    - Brazylia
    - Korea Płdn.

    :lol: i wyobraź sobie Pan, że docierają bez najmniejszego problemu ;) więc proszę o odrobinę powagi odnośnie wysyłki do tak małego kraju obok Polski jak Holandia ;) Ja rozumiałbym, gdybyś akurat przebywał np na jakiejś extremalnej ekspedycji na którymś biegunie ;)

    _________________
    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: 12 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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