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

STM32 - Brak komunikacji z wyswietlaczem TFT ze sterownikiem ILI9163C

15 Gru 2016 17:21 948 6
  • Poziom 4  
    W efekcie wykonania poniższego kodu oczekiwałem czarnego tła na ekranie wyświetlacz, jednak po uruchomieniu jedyne co otrzymuje to przypadkowe wartości pamięci wyświetlacza (losowe czarno-białe punkty tzw. "szum"). Próbowałem uruchamiać wyświetlacz nie tylko w takiej konfiguracji jak zamieszczona tutaj (w sieci jest całkiem sporo przykładów wykorzystania sterownika ILI9163C), pomimo tego efekt za każdy razem jest jednakowy, wyświetlacz zawsze pokazuje jedynie "szum". Próbowałem również wyświetlić czarne tło bezpośrednio po software'owym resecie sterownika bez wykonywania jakiejkolwiek konfiguracji (większość, jeśli nie wszystkie, parametry wyświetlacza posiadają wartość "default" którą przyjmują w przypadku wykonania SW resetu). Wyświetlacz reaguje na komendy RESET, DISPLAY ON/DISPLAY OUT toteż przypuszczam że od strony komunikacji wszystko jest w porządku. Być może wyświetlacz nie przyjmuje danych/parametrów, wystąpiły błędy w moim kodzie, inicjalizacji wyświetlacza jest niepoprawna bądź problem leży w czymś zupełnie innym, czego nie jestem w stanie stwierdzić. Spędziłem już nad tym problemem sporo czasu jednak wciąż bez rezultatów.

    Będę ogromnie wdzięczny za pomoc.

    WYŚWIETLACZ:
    STM32 - Brak komunikacji z wyswietlaczem TFT ze sterownikiem ILI9163C

    Piny:
    VCC - 5V
    GND - GND
    CS - Chip Select (low "0" - aktywny; high "1" - nieaktywny)
    RESET - linia resetujaca
    A0 - (low "0" MCU wysyła komendy; high "1" MCU wysyła dane)
    SDA - linia MOSI SPI
    SCK - linia zegarowa SPI
    LED - podświetlenie matrycy

    Dokumentacja sterownika:

    http://www.orientdisplay.com/pdf/ILI9163C.pdf

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 4  
    Ustawienie linii CS w stan niski na stałe skutkuje brakiem reakcji wyświetlacza. Jedyne co widać to podświetlony ekran, czarno-białe kropki znikają. Próbowałem również wskazanej konfiguracji wyświetlacza jednak w dalszym ciągu bez pożądanego efektu.
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 4  
    Transmisje SPI sprawdzałem bit po bicie przy pomocy diodek LED. Zarówno przy wysyłaniu komend jak i danych transmisja była prawidłowa dlatego tym bardziej jestem zdziwiony. Co prawda trudno jest zweryfikować poprawność w działaniu zegara jednak sama ramka zgadzała się do wartości poszczególnych bitów . Spróbuję użyć SPI2 lub SPI3 jeśli to nie pomoże pozostaje rozwiązać to programowo.
  • Użytkownik usunął konto  
  • Poziom 4  
    Usiadłem do sprawy dopiero teraz. Programowo wszystko działa bez zarzutów. Nie mam natomiast pomysłu jaki problem występuje przy sprzętowym użyciu SPI. Jestem wdzięczny za pomoc, mój cel został osiągnięty. Mimo wszystko prosiłbym również o sugestie w celu wykorzystania sprzętowego SPI.

    Dzięki! :)