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



Teraz jest 24 kwi 2024, o 17:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 26 sty 2018, o 08:47 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Chciałbym użyć wyświetlacza HD44780. Pierwsze próby podłączenia zrobiłem na Arduino i udało się. Teraz chciałbym to przenieść na czystą Atmega8A. Skopiowałem kod z pendriva bluebooka, zmieniłem adres i piny na takie jakie zadziałały mi na arduino, oraz włączyłem I2C i niestety wyświetlacz milczy :(. Co mnie trochę zastanawia, mam układ z ekspanderem PCF8574AT i arduino wykrył mi go pod adresem 0x3F, a w komentarzach kodu z bluebooka powinien zaczynać się od 0x70. Czy to tutaj jest problem?

To mój kod:

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


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

Poustawiałem też ręcznie taktowanie w plikach w których tego brakowało:

Cytuj:
// nigdzie nie brakowało TEGO NIGDY nie robi się w kodzie źródłowym !
#define F_CPU 8000000UL // <------ nigdy w kodzie źródłowym - mirekk36



Dodatkowo zmieniłem rozszerzenie źródeł na cpp ponieważ środowisko nie znajdywało mi nazw funkcji gdy były w c.


W głownym katalogu jest sketch arduino który działa. Dalej jest kod z bluebooka z dostosowanymi wartościami i niestety wyświetlacz wyświetla tylko początkowe kwadraty..

Jedyne podłączenie jakie zrobiłem to SDA do PC4 i SCL do PC5 + oczywiście zasilanie.

Proszę o pomoc, jeżeli zauważycie błąd. Generalnie chciałbym doprowadzić do wyświetlenia czegokolwiek, a dopiero potem zabrać się za jakieś ogarnianie teoretyczne bo nauka na sucho niestety nie jest moją dobrą stroną.



Ostatnio edytowano 26 sty 2018, o 09:54 przez krzsiek050, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 09:12 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

to teraz tak się udostępnia kody z BB??? :shock:

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 09:16 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Ten link podałem tylko tutaj i usunę go jak rozwiąże problem. Bez podania kodu ciężko by było znaleźć przyczynę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 09:31 
Offline
Moderator
Avatar użytkownika

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

krzsiek050 napisał(a):
Bez podania kodu ciężko by było znaleźć przyczynę.

Panie Panie - jeśli przerabiasz kod to oczywiście podaj go ale tylko te fragmenty które przerobiłeś sam w stosunku do kodu z BB - wtedy to będzie zrozumiałe i tak można spokojnie robić ...

po jaki gwint wklejać całe biblioteki z BB ?

Już nie wspomnę o tym, że na forum kod umieszczamy zgodnie z instrukcją na forum: topic7402.html a nie na jakichś kocich serwerach - dlatego usuwam ten link w pierwszym poście i proszę o poprawienie, czyli przerobione fragmenty kodu na forum ok?

_________________
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: 26 sty 2018, o 09:48 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Poprawiłem zgodnie z zaleceniami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 09:50 
Offline
Moderator
Avatar użytkownika

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

krzsiek050 napisał(a):
Poprawiłem zgodnie z zaleceniami.

No nie dokładnie z zaleceniami a przecież podałem LINK z instrukcją, zobacz proszę jak wygląda ten kod w pierwszym poście? Tak samo jak w poradniku ? .... więc proszę uprzejmie jeszcze raz poprawić

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

krzsiek050 napisał(a):
Poustawiałem też ręcznie taktowanie w plikach w których tego brakowało:

No i tym sposobem zrobiłeś akcję jak z filmu "MASAKRA AMERYKAŃSKĄ PIŁĄ TARCZOWĄ" ... zapamiętaj sobie raz na zawsze - a piszę przecież o tym w BLUEBOOKU i to kilka razy, powtarzam w co drugim swoim poradniku wideo - że nie wspomnę już o tym, że w tysiącach postów na forum to powtarzam

NIGDY - ALE TO NIGDY - nie definiuje się #define F_CPU w kodzie programu a już totalną MASAKRĄ wręcz jest wstawianie tego do plików - widać tu niestety naleciałości albo z arduino albo z czerpania wcześniej wiedzy z jakichś dziwnych blogów, kursów w internecie - gdzie podają takie bzdury początkującym właśnie.

------------------------ [ Dodano po: 4 minutach ]

krzsiek050 napisał(a):
Dodatkowo zmieniłem rozszerzenie źródeł na cpp ponieważ środowisko nie znajdywało mi nazw funkcji gdy były w c.

Powiedz mi - ty masz Bluebooka ? pytam no bo TAKIE HEREZJE piszesz mając tę książkę ? To ty nie czytałeś w niej jak się dzieli projekt na pliki w języku C ? no nie żartuj - no nie żartuj - to po co tobie ta książka ???

chcesz przejść na czysty C? dasz radę ale zapomnij chociaż na chwilę o andruino

_________________
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: 26 sty 2018, o 09:58 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

krzsiek050 napisał(a):
Poustawiałem też ręcznie taktowanie w plikach w których tego brakowało:
Cytuj:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Tego nigdy, nigdy, przenigdy nie wstawiamy w kodzie! Od tego jest właśnie środowisko.

krzsiek050 napisał(a):
Dodatkowo zmieniłem rozszerzenie źródeł na cpp ponieważ środowisko nie znajdywało mi nazw funkcji gdy były w c.
W głownym katalogu jest sketch arduino który działa. Dalej jest kod z bluebooka z dostosowanymi wartościami i niestety wyświetlacz wyświetla tylko początkowe kwadraty..

To Ty chcesz kod w C kompilować w środowisku ARDUINO? :?: :o
Tak to się chyba nie da tego zrobić. I wydaje mi się, że to powód dla którego Ci to nie działa.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 10:02 
Offline
Moderator
Avatar użytkownika

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

MirkoT napisał(a):
To Ty chcesz kod w C kompilować w środowisku ARDUINO?

No o tym to nawet nie pomyślałem ;) odradzając wcześniej andruino bo myślałem, że autor stawia swoje pierwsze kroki w C. Ale jeśli chce w ten sposób wmixować biblioteki C w brzuch andruino - no to nie dziwota - że się wszystko krzaczy

_________________
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: 26 sty 2018, o 10:05 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

Ok, wcześniej pisząc projekt ustawiałem F_CPU w środowisku. Teraz chciałem po prostu doprowadzić to do wyświetlenia czegoś w stylu "Hello world". Wiem że docelowo tak się nie robi, bo problem powstanie gdy zmienię taktowanie i zapomnę o jednym miejscu gdzie zrobiłem hardcode, ale teraz zrobiłem tak tylko dla testów.

Bluebooka oczywiście mam, ale jest tam opisane głównie środowisko Eclipse, a ja używam AVR Studio. I nie chcę przejść na czysty C, tylko pisać właśnie w C++ z użyciem obiektowości. Stworzyłem projekt jako C++ i nie chce mi brać pod uwagę plików z rozszerzeniem "c".

@MirkoT
Kod w arduino mi działa. Teraz chcę napisać w C++, ale pod czystą atmegę. Kod w C powinien być przynajmniej w teorii zgodny w C++. Zresztą, całość się kompiluje, więc chyba nie tutaj jest problem.

@Edit:

Ok, widzę że trochę niezrozumiale pisze, więc postaram się wytłumaczyć. Mam arduino, ale głównie do testów i PoCów całkiem nowych rzeczy. Nie chcę w nim pisać nic poważnego. Zrobiłem jeden udany projekt w C pod atmegę, ale pisało się bardzo ciężko, więc chciałbym teraz napisać coś w C++. Z rzeczy których chcę użyć pierwszy raz jest właśnie ten wyświetlacz przez TWI. Dlatego chcę stworzyć prosty projekt w C++, który wyświetli mi hello world. Chciałbym użyć biblioteki z pendrivea BB, bo na pewno działa pod Atmegą i jest napisany w C. W C++ można pisać strukturalnie, więc wszystko powinno zadziałać, a gdy już ruszy, to chciałbym zrobić jakąś ładną klasę do obsługi analizując i przerabiając poszczególne fragmenty.
O arduino wspomniałem tylko z tego powodu że tam mi ruszył Hello world. To dostarcza informacji chociażby o tym że LCD działa i znam jego adres. W żadnym wypadku nie chce mieszać bibliotek arduino w czystą atmegę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 10:36 
Offline
Moderator
Avatar użytkownika

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

np to teraz przynajmniej wyjaśniłeś o co chodzi - a warto było od tego zacząć ;)

_________________
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: 26 sty 2018, o 11:31 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

Jeśli to moduł do wlutowania w wyświetlacz to myślę że to może być kwestia adresu ty podałeś 7bitowy adres tego pcf a spróbuj wpisać 8 bitowy (0x7e)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2018, o 11:40 
Offline
Nowy

Dołączył(a): 16 sie 2017
Posty: 7
Pomógł: 0

@tonygryps

Dziękuję Ci bardzo :). Problem został rozwiązany, i nie ukrywam że nie wpadłbym na to.



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ł: Majestic-12 [Bot] 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