Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] Wyświetlacze ze sterownikiem ST7565 wyświetla tylko pierwszą stronę

ghost2000 04 Mar 2018 18:07 279 5
  • #1 04 Mar 2018 18:07
    ghost2000
    Poziom 17  

    Wyświetlacz 128x64, sterownik ST7565. Działa ale dane mogę wyświetlić tylko na pierwszej stronie. Z dokumentacji wnioskuję, że komendą Page address set (0b1011aaaa), mogę wybrać do której strony zapisuje dane. Niestety, powoduje to tylko wybranie innej ośmiopikselowej kolumny. Program kopiujący dane z bufora w ram do wyświetlacza:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 5
  • #2 04 Mar 2018 18:17
    BlueDraco
    Specjalista - Mikrokontrolery

    Spróbuj najpierw ustawić stronę. a potem kolumnę. Podejrzewam błąd w funkcji SpiWrite(), której nie pokazałeś - funkcja musi czekać na zakończenie odczytu i czytać rejestr danych SPI.

    0
  • #3 04 Mar 2018 18:23
    ghost2000
    Poziom 17  

    BlueDraco napisał:
    Spróbuj najpierw ustawić stronę. a potem kolumnę. Podejrzewam błąd w funkcji SpiWrite(), której nie pokazałeś - funkcja musi czekać na zakończenie odczytu i czytać rejestr danych SPI.

    Zamieniłem kolejność. Próbowałem też ustawiać stronę nie w ciągu rozkazów, razem z ustawianiem kolumn ale poprzedzając i zakończając ustawianiem strobu CS, efekt ten sam. Funkcje spi:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Może SPI Mode mam źle ustawione? Teraz mam 0.

    0
  • #4 04 Mar 2018 18:26
    BlueDraco
    Specjalista - Mikrokontrolery

    Jakoś odczytu rejestru danych SPI tu nie widzę - na tym polega problem. Deaktywujesz linię CS przed zapisem polecenia ustawienia strony, więc polecenie jest ignorowane.
    CS może być zresztą cały czas aktywne - nie trzeba go deaktywować pomiędzy poleceniami i danymi, ale to tylko zamaskuje problem,a a nie usunie go.

    0
  • #5 04 Mar 2018 18:36
    ghost2000
    Poziom 17  

    BlueDraco napisał:
    akoś odczytu rejestru danych SPI tu nie widzę - na tym polega problem

    Nie bardzo rozumie. Chodzi o coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Zrobiłem tak i bez zmian.

    EDIT
    Znalazłem. nie 0b1011+y tylko 0b10110000+y :-)

    Pechowy ten wyswietlacz. W nocie (wyświetlacza nie sterownika) były błędy. Wyglądało na to, ze CS aktywne jest w wysokim a nie niskim. Komuś kreski nie chciało się narysować.

    Dla potomnych, kopiowanie bufora:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Init wyświetlacza:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #6 04 Mar 2018 19:27
    ghost2000
    Poziom 17  

    BlueDraco napisał:
    akoś odczytu rejestru danych SPI tu nie widzę - na tym polega problem

    Nie bardzo rozumie. Chodzi o coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Zrobiłem tak i bez zmian.

    EDIT
    Znalazłem. nie 0b1011+y tylko 0b10110000+y :-)

    Pechowy ten wyswietlacz. W nocie (wyświetlacza nie sterownika) były błędy. Wyglądało na to, ze CS aktywne jest w wysokim a nie niskim. Komuś kreski nie chciało się narysować.

    Dla potomnych, kopiowanie bufora:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Init wyświetlacza:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodano po 51 [minuty]:

    Na zakończenie co mi się podoba co nie.
    Plusy "dodatnie":
    - Duże rozmiary
    - Szybka komunikacja po SPI https://kamami.pl/cog-128x64/179277-lcd-ag-c1...l?search_query=ag-c128064cf-diw&results=1

    "Plusy ujemne":
    - Błędy w dokumentacji na stronie KAMAMI
    - Brak możliwości odczytu danych z LCD
    - Brak możliwości stwierdzenia obecności wyświetlacza (sterowniki ST7565 w trybie I2C potwierdza obecność ale danych z LCD nie można czytać - podobno, nie sprawdzałem tego).

    0