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



Teraz jest 28 mar 2024, o 14:22


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 ]
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 ]
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: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

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: 369
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: 2561
Pomógł: 126

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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 ]
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: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO