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



Teraz jest 23 cze 2026, o 09:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 28 gru 2017, o 17:04 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

Mam książke Mirosława Kardaśia na temat avr(bluebook) i był przykład jak uruchomić lcd na I2C(TWI) i z tym mam problem.
Problem jest z adresowaniem lcd, nie odpowiada na żaden adres podstawowy adres. Jak ktoś chciałby wiedzieć to mam LCD od YwRobot Arduino LCMI602 IIC VI, na arduino miał adres 0x27 ale i ten nie działa.


EDIT: Jak wgrywam przez Arduino do Atmega328 to działa , ale jak używam kodu z bluebooka to nie działa , dodam że rejestry mam pozmieniane na te do atmega328



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2017, o 17:42 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 183
Lokalizacja: Kraków
Pomógł: 30

Skoro nie odpowiada, na żaden adres, to najwyraźniej widać, że problem nie jest w adresowaniu. Kody z BB na pewno działają. Więc zgaduję, że przyczyną może być błędne podłączenie, uszkodzony, LCD, uszkodzony procek ... i pewnie jeszcze ze sto różnych przyczyn. Bez bliższych informacji, co, jak i do czego masz podłączone, to tylko ktoś kto ma magiczna szklana kulę będzie wstanie coś pomóc.

Widzisz dopisałeś , co zmieniłeś - czyli szukaj co masz źle w rejestrach.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2017, o 17:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

cześć
masz podciągnięte linie SDA i SCL do Vcc?

Kody z książek działają na 100% więc problem jest sprzętowy.
Jakiś schemat albo wyraźną fotkę układu chętnie byśmy zobaczyli

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2017, o 17:55 
Offline
Użytkownik
Avatar użytkownika

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

Kolego w arduino przyjęto nieco mylącą nomenklaturę adresacji urządzeń na magistrali I2C. Spróbuj użyć adresu 0x4E.
Widzisz pierwszy wysłany bajt zawiera adres urządzenia ale najmłodszy bit nie wlicza się do adresu bo oznacza odczyt bądź zapis.
W arduino przyjęto tak że bit ten jest pomijany dosłownie czyli cały bajt jest przesuwany o jedną pozycję w prawo czyli twoje 0x27 to binarnie 0b00100111 natomiast w oryginale zapis powinien być 0b01001110 czyli w heksie 0x4E
Oczywiście pisząc pomijany nie mam na myśli że po magistrali jest tak wysyłany, poprostu biblioteka obsługi I2C jest tak zbudowana że adres podawać trzeba właśnie z pominięciem i przesunięciem, natomiast w bibliotekach z BB adres należy podawać w oryginalnej wersji (czyli tak jak jest podawane zazwyczaj w notach od klocków z magistralą I2C)



Ostatnio edytowano 28 gru 2017, o 18:02 przez xentis, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2017, o 18:01 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

Sprawdzę

------------------------ [ Dodano po: 3 minutach ]

Nie działa adres 0x4E

------------------------ [ Dodano po: 13 minutach ]

Oto zdjęcia układu: [ proszę wstawiać fotki zgodnie z instrukcją na forum ! - topic44.html bo w następnym przypadku będzie WARN - mirekke6 ]

------------------------ [ Dodano po: 14 minutach ]

Link do zdjęć [ proszę wstawiać fotki zgodnie z instrukcją na forum ! - topic44.html bo w następnym przypadku będzie WARN - mirekke6 ]

------------------------ [ Dodano po: 14 minutach ]

to nie ten link to zdj [ proszę wstawiać fotki zgodnie z instrukcją na forum ! - topic44.html bo w następnym przypadku będzie WARN - mirekke6 ]

------------------------ [ Dodano po: 17 minutach ]

Uwaga te kilka linków co dałem to zdjęcie usuwa!!!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2017, o 00:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

tomek89mcpl napisał(a):
Mam książke Mirosława Kardaśia na temat avr(bluebook) i był przykład jak uruchomić lcd na I2C(TWI) i z tym mam problem.
A które wydanie? Jak w pierwsze w miękkiej okładce to czy masz poprawioną obsługę zgodnie z erratą http://www.atnel.pl/i2c_twi_lib_stop_error.html ?

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2017, o 16:18 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

rskup napisał(a):
tomek89mcpl napisał(a):
Mam książke Mirosława Kardaśia na temat avr(bluebook) i był przykład jak uruchomić lcd na I2C(TWI) i z tym mam problem.
A które wydanie? Jak w pierwsze w miękkiej okładce to czy masz poprawioną obsługę zgodnie z erratą http://www.atnel.pl/i2c_twi_lib_stop_error.html ?

--
Pozdrawiam,
Robert

Mam wydanie w twardej okładce (2) więc nie jest to problem obsługi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2017, o 18:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

Nie piszesz jaki masz ekspander ale domyślam się, że PCF8574.
Adres ustawiasz sam w zależności od podłączenia odpowiednich pinów do masy lub Vcc.
Wiadomo jak Vcc to "1"
a tu masz jak obliczyć adres
Obrazek

pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2017, o 21:59 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

Ekspander to PCF8574T



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2017, o 09:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

tomek89mcpl napisał(a):
Ekspander to PCF8574T


No i co? Sprawdziłeś jak masz podłączone piny A0, A1 i A2 ?
Czy w bibliotece z książki ustawiłeś
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


inicjalizujesz I2C w programie?

Tak w ogóle to pokaż co masz w main.c bo oczekujesz pomocy a każesz nam zgadywać.
To musi działać nie ma że boli ;)

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2017, o 10:49 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

To piszę wszystko co trzeba
main.c
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: 30 gru 2017, o 11:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

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

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

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


przecież bez inicjalizacji szyny I2C nic Ci nie ruszy

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2017, o 13:30 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

sprawdzę

------------------------ [ Dodano po: 15 minutach ]

z czego to wiem to w bibliotece tego nie ma i2c_init ale jest TWI_start które jest załaczane w LCD.cpp

------------------------ [ Dodano po: 20 minutach ]

Problem częściowo rozwiązany ale często dochodzi do wykasowania całego lcd i wyświetla się tylko lekko widoczny napis -1

------------------------ [ Dodano po: 23 minutach ]

PS<<Przy pomocy pana Kardasia

------------------------ [ Dodano po: 24 minutach ]

PS<<Pomoc udzielił na PW



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2017, o 16:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

To może pochwal się coś nagrzybił ;)

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 gru 2017, o 17:08 
Offline
Użytkownik

Dołączył(a): 27 lip 2017
Posty: 61
Lokalizacja: Polska
Pomógł: 0

Nic nie nagrzybiłem tylko dla testu czy działa zrobiłem wrzucanie danych przez uart z atmegi32



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: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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