Sprawdź, czy poniższy kod zadziała:
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ę
Zaloguj się, aby zobaczyć kod
- w pliku *.c jest to wykorzystane tak:
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.