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



Teraz jest 20 kwi 2024, o 06:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 5 wrz 2017, o 19:22 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Witam,

piszę odnośnie uruchomienia wyświetlacza LCD alfanumerycznego przez sterownik BU9796. Może ktoś się z nim spotkał kiedyś ? :)

Mianowicie, wykorzystuję bibliotekę p. Mirka z soft i2c, chociaż mam podłączone linie TWI. Ale próbowałem zarówno z soft i2c i TWI, nic się nie udało. Próbuję wyświetlić cokolwiek na wyświetlaczu (http://www.buy-lcd.com/index.php?route=product/product&product_id=13997) za pomocą tego sterownika http://pl.mouser.com/ProductDetail/ROHM-Semiconductor/BU9796AMUV-E2/?qs=sGAEpiMZZMsE420DPIasPiI4UEU%252b8ZhTMD4jXNBNLFQsUyuLOVVE6g%3d%3d

Czytałem notę tego sterownika, na początku wszystko wydawało się proste ale teraz zastanawiam się o co chodzi z "ACKNOLWLEDGE" tzn. wiem, że to jest bit ACK i że po każdym wysłanym bajcie musi on wystąpić ale czy kod programu to realizuje .... wydawało mi się że tak.

To moje pierwsze spotkanie z i2c na AVR więc proszę o wyrozumiałość.

Jeśli ktoś miałby czas i mógłby się zapoznać z notą tego sterownika i kodem mojego programu to byłbym wdzięczny za wytknięcie błędów. I jeszcze pytanie - czy bibliotekę soft i2c można stosować bez rezystorów podciągających ??

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.


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


bu9796.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: 5 wrz 2017, o 20:04 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Vroobee napisał(a):
czy bibliotekę soft i2c można stosować bez rezystorów podciągających ??

Nie. Można by ją tak przerobić, ale wewnętrzne rezystory podciągające mają kilkukrotnie większą rezystancję. Zastosuj rezystory podciągające.
ACK można sprawdzić. Funkcja i2cPutbyte zwraca informację czy było potwierdzenie i na początku pracy z nowym układem należy posłać start, wysłać adres sprawdzając czy jest potwierdzenie i posłać stop. Jak to nie zadziała to należy sprawdzić czy dobrze rozumiemy co to właśnie jest ten adres.

PS.
Jak już utworzyłeś symbol LED_PIN itp. to należy się nim posługiwać, a nie dalej używać (1<<1). Jak zmienisz podączenie LED to będzie trzeba to wszystko przerabiać, a nie tylko jeden wpis.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2017, o 20:30 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Wrzucam schemat ramek i komunikacji. Ja zrozumiałem to w ten sposób, że to Master musi wysłać ACK do Slave'a. Ale widzę, że się myliłem. W takim razie może ktoś podpowiedzieć jak powinna wyglądać transmisja ?

EDIT:
Ok, ogarnąłem jak to sprawdzić, funkcja i2cPutByte zwraca 0 więc to oznacza brak akceptacji ?

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2017, o 20:56 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

ACK wysyła i master i slave. Jak master wysyła bajt to save potwierdza, a jak slave wysyła dane to master potwierdza. Na pocżatek:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jeśli chodzi o transmisję to masz dobrze. Najpierw komendy z MSB na 1, a jak następny bajt ma być daną to w komendzie MSB jest równe 0 co realizujesz wysyłając komendę ADSET = 0x00. Ważna jest inicjalizacja i na starcie dobrze dodać co zaleca producent:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a potem to co masz

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2017, o 21:26 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Właśnie w ten sposób sprawdziłem sobie ACK tylko wysłałem go po UARTcie, dostawałem zero ale znalazłem błąd i wysyłałem jeden bit za dużo w adresie. Teraz jest ok :)

... z tym, że nadal nie działa. Sekwencje robię po kolei tak jak w datasheet'cie

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



I ciągle nic... Wyświetlacz działa, sprawdzałem miernikiem - pokazywały się lekko segmenty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 wrz 2017, o 21:24 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Można by sprawdzić schemat. Niektóre wejścia muszą być podpięte do masy.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 wrz 2017, o 09:47 
Offline
Użytkownik

Dołączył(a): 25 wrz 2014
Posty: 137
Lokalizacja: Konin/Poznań
Pomógł: 0

Właśnie ostatnio go przeglądałem i chyba jest jeden mały błąd. W poniedziałek sprawdzę i dam znać



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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