logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[A16][HD44780] Dziwne sterowanie po zmianie wyświeltacza

eiliat 03 Mar 2012 16:37 1272 3
REKLAMA
  • #1 10628327
    eiliat
    Poziom 15  
    Cześć. Mam gotowy kod z słynnego kursu dla AVR i C. Miałem wyświetlacz 2x16 a po zmianie na 4x20 mam problemy z ustawianiem pozycji. Jak zmienić deklaracje tych danych, abym mógł normalnie podawać pozycję?

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 10628612
    tehaceole

    Poziom 28  
    Sprawdź, czy poniższy kod zadziała:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    O ile dobrze pamiętam, to działał mi na 4x16, więc na 4x20 też powinien ruszyć.
    Czy możesz normalnie wyświetlać znaki na wyświetlaczu a masz problem z ich pozycjonowaniem, czy też wyświetlacz pokazuje same krzaki?
    W tym drugim przypadku (jeżeli pin RW masz podłączony do masy) należy sprawdzić, czy dane nie trafiają zbyt szybko do LCD. U siebie mam to rozwiązane w ten sposób:
    - w pliku nagłówkowym znajduje się
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    - w pliku *.c jest to wykorzystane tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Dla szybkości 3 i 4 robi się już masakra :) Program praktycznie nie robi nic poza czekaniem na wyświetlanie danych na LCD. Jednak dla wartości 0-2 wszystko działa płynnie. Oczywiście musisz powyższe kody zaadaptować do swojej biblioteki. Te które tu prezentuje to moja przeróbka jakiejś bilbioteki znalezionej kiedyś w sieci.
  • REKLAMA
  • #3 10629081
    eiliat
    Poziom 15  
    Oczywiście chodzi o złe pozycja znaków.
    Albo źle używam kodu ale nie działa :(
  • #4 10630917
    rezi_ar
    Poziom 17  
    Tutaj
    Link
    jest wszystko wyjaśnione. Adresacja kolejnych linii jest "nieprosta", trzeba skakać do początków wierszy.

    pozdrawiam
    rezi
REKLAMA