Strona 1 z 1

Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 27 maja 2023, 0:11
autor: Michał6201
Witam

Udało mi się uruchomić wyświetlacz graficzny ST7565.

Mam jednak z nim dziwny problem - otóż wiersze począwszy od wiersza numer 1 zaczyna wyświetlać od połowy ekranu, a np. 6 wiersz jest jakby drugi od góry.
Mało tego, to po prawej stronie wyświetlacza świecą się pojedyncze piksele.
W załączeniu przesyłam kod oraz zdjęcie jak to wygląda.
Czy to oznacza że wyświetlacz jest uszkodzony?

  1. $regfile = "m1284pdef.dat"
  2. $crystal = 18432000
  3.  
  4. $hwstack = 64
  5. $swstack = 64
  6. $framesize = 64
  7.  
  8.  
  9. $lib "glcdeadogm128x6.lbx"
  10. Config Graphlcd = 128 * 64eadogm , Cs1 = Portb.4 , A0 = Portd.6 , Si = Portb.5 , Sclk = Portb.7 , Rst = Portd.5
  11. Dim A As Byte
  12. Cls
  13. 'glcdcmd &B10100111                                          'obraz w negatywie
  14.  
  15. Glcdcmd &B10000001
  16. Glcdcmd 50
  17.  
  18. setfont My6_8
  19. Lcdat 6 , 2 , "ABCDEFG"
  20.  
  21. End
  22.  
  23. $include "my6_8.font"
  24. $include "font16x16.font"
  25.  
A tutaj zapisałem wszystkie 8 wierszy na wyświetlaczu:
  1. $regfile = "m1284pdef.dat"
  2. $crystal = 18432000
  3.  
  4. $hwstack = 64
  5. $swstack = 64
  6. $framesize = 64
  7.  
  8.  
  9. $lib "glcdeadogm128x6.lib"
  10.  
  11. Config Graphlcd = 128 * 64eadogm , Cs1 = Portb.4 , A0 = Portd.6 , Si = Portb.5 , Sclk = Portb.7 , Rst = Portd.5
  12.  
  13. Dim A As Byte
  14.  
  15. Cls
  16.  
  17. 'glcdcmd &B10100111                                          'obraz w negatywie
  18.  
  19. Glcdcmd &B10000001
  20. Glcdcmd 50
  21.  
  22.  
  23. setfont My6_8
  24. Lcdat 1 , 3 , "LINIA 1 LINIA LINIAA"
  25. Lcdat 2 , 3 , "LINIA 2 LINIA LINIAA"
  26. Lcdat 3 , 3 , "LINIA 3 LINIA LINIAA"
  27. Lcdat 4 , 3 , "LINIA 4 LINIA LINIAA"
  28. Lcdat 5 , 3 , "LINIA 5 LINIA LINIAA"
  29. Lcdat 6 , 3 , "LINIA 6 LINIA LINIAA"
  30. Lcdat 7 , 3 , "LINIA 7 LINIA LINIAA"
  31. Lcdat 8 , 3 , "LINIA 8 LINIA LINIAA"
  32. End
  33.  
  34. $include "my6_8.font"
  35.  
I zdjęcie jak to wygląda na lcd.
A tak w ogóle to mi się wydaje, że ten wyświetlacz wyświetla do góry nogami.

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 27 maja 2023, 8:20
autor: marekszy
Wcześniej ćwiczyłem wyświetlacz 128x64 na innej bibliotece i działał ok , podmień i sprawdź
https://bart-projects.pl/forum/viewtop ... f=10&t=483

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 28 maja 2023, 20:53
autor: Michał6201
Dziękuję Ci

Zainstalowałem tą bibliotekę opisaną jako "update"

W załączeniu kod:
  1. $regfile = "m1284pdef.dat"
  2. $crystal = 18432000
  3.  
  4. $hwstack = 64
  5. $swstack = 64
  6. $framesize = 64
  7.  
  8.  
  9. '$lib "glcdeadogm128x6.lib"
  10.  $lib "glcd-ST7567.lib"
  11.  
  12. Config Graphlcd = 128 * 64eadogm , Cs1 = Portb.4 , A0 = Portd.6 , Si = Portb.5 , Sclk = Portb.7 , Rst = Portd.5
  13.  Const Mirror_y = 1
  14. Cls
  15.  
  16.   Config 1wire = Portc.1   ' Konfiguracja magistrali 1-wire
  17.   'Zmienne temperatury
  18. Dim Dsid1(8) As Byte
  19. Dim Dsid2(8) As Byte
  20. Dim I1 As Integer
  21. Dim I2 As Integer
  22. Dim Twewn As Single
  23. Dim Tzewn As Single
  24. Dim Tz As String * 5
  25. Dim Tw As String * 5
  26. Dsid1(1) = 1wsearchfirst()
  27. Dsid2(1) = 1wsearchnext()
  28. 'glcdcmd &B10100111                                          'obraz w negatywie
  29.  
  30. Glcdcmd &B10000001
  31. Glcdcmd 50
  32. DO
  33.  Setfont My6_8
  34.  
  35.  
  36.   1wreset
  37.        1wwrite &HCC
  38.        1wwrite &H44
  39.  
  40.        Waitms 750
  41.  
  42.        1wreset
  43.        1wwrite &H55
  44.        1wverify Dsid1(1)
  45.        1wwrite &HBE
  46.        I1 = 1wread(2)
  47.     '---------------------------------
  48.        1wreset
  49.        1wwrite &H55
  50.        1wverify Dsid2(1)
  51.        1wwrite &HBE
  52.        I2 = 1wread(2)
  53.        Tzewn = I1 / 16
  54.        Twewn = I2 / 16
  55.        Tw = Fusing(twewn , "0.0")
  56.        Tz = Fusing(tzewn , "0.0")
  57.  
  58.    Lcdat 5 , 1 , Tw ; "C  "
  59.  
  60.    Lcdat 6 , 1 , Tz ; "C  "
  61.  Loop
  62.  End
  63. ' Koniec programu
A w załączeniu zdjęcie wyświetlacza

Jedyna zmiana jaka nastąpiła to konieczność odwrócenia wyświetlacza do góry nogami, bo wyświetłało jak w lusterku i mniej śmieciowych pikseli widać po prawej stronie wyświetlacza.
Nadal pomylone są wiersze na wyświetlaczu.

W ogóle bez sensu to wszystko wychodzi :(
Tworzę jakiś malutki obrazek koloru czarnego paleta RGB, zapisuję go jako .bmp. Później tworzę w graficznym konwerterze plik .bgf i na lcd wyświetlają się jakieś krzaki do niczego nie podobne.

Załadowałem ten Twój plik testowy, to też obraz podzielony na pół i pokręcone wszystko. Nic z tego nie rozumiem już. Aż tak marny jest ten Bascom?

Czy jest w ogóle jakiś wyświetlacz graficzny, który poprawnie obsługiwany jest przez Bascom?

a tak wygląda Twój obrazek:
Wiem, że to powinien być uścisk dłoni, ale mój lcd dzieli na pół wszystko i raczej nie nadaje się do bascoma. Do wszystkiego, tylko nie do bascom.

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 29 maja 2023, 7:55
autor: marekszy
W konwerterze graficznym bascomowym musiałem zaznaczyć wszystkie „ptaszki” i wtedy plik bgf był ok , inaczej tez same krzaki , co do dzielenia obrazu to 🤷, jak ty to masz podłączone ?

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 29 maja 2023, 20:31
autor: Michał6201
Wszystkie linie podłączone bezpośrednio do mikrokontrolera również zasilanego z +3,3V.
MOSI - > DB7
SCK -> DB6
SS -> CS
Port D5 -> RST
Port D6 -> A0

Udało mi się naprawić kolejność wierszy.
Trzeba dopisać:
  1. Glcdcmd &B01011111  ' Display start line set
Niestety nadal jest problem z wyświetlaniem, bo wszystkie kolumny przesunięte są w lewo o 4 piksele.
Ewidentnie jest skopana ta biblioteka w bascomie.

Masz może jakąś nowszą niż ja? Moja wersja Bascom to 2.0.7.8

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 29 maja 2023, 21:58
autor: niveasoft
Bascom nie ma tu nic do rzeczy. Jeden wyświetlacz to wersja A a drugi to R.
Użyj tej biblioteki. Dziwi mnie że nie potrafisz na MCS znaleźć odpowiedniej biblioteki do swojego wyświetlacza. Od narzekania nic się jeszcze nie poprawiło.
Wszystko wytłumaczone jak krowie na rowie tutaj -> https://www.mcselec.com/index2.php?opti ... ht=st7565r

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 29 maja 2023, 22:20
autor: Michał6201
I dziękuję Ci bardzo za pomoc.
Z tą biblioteką z załącznika od Ciebie działa wyświetlacz idealnie. I nawet obróciłem go o 180st, bo wyświetlał do góry nogami.

Żeby wiersze były po kolei trzeba dopisać:
  1. Glcdcmd &B01011111  ' Display start line set
Odwrócenie wyświetlacza do góry nogami to:
  1. Const Eadogm_rotate = 1
Jeszcze raz dziękuję

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 30 maja 2023, 0:13
autor: Michał6201
A jeszcze jedno pytanie mam

Jak się w tych wyświetlaczach wstawia np. stopień celsjusza, albo jakiekolwiek inne ikonki?
Bo w zwykłych wyświetlaczach alfalnumerycznych jest to banalnie proste. A tutaj?

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 31 maja 2023, 1:18
autor: niveasoft
Próbowałeś cokolwiek? Tylko to co masz w foncie możesz użyć.
Sa fonty skrócone do tylko kilku znaków dla dużych wyświetlaczy....

Re: Wyświetlacz graficzny ST7565R wyświetla od połowy ekranu

: 31 maja 2023, 23:13
autor: Michał6201
Tak, próbuję zapisać znak np stopień celsjusza za pomocą Chr()
Chciałem użyć Twojego programu Font Maker, ale nie rozumiem go. Coś wygenerowało się, ale po otwarciu w Font Editor widać same krzaki a nie literki. A żeby zrobić własne znaki specjalne to już w ogóle...

Ale obszedlem to inaczej :)
Mam plik z fontami, otworzyłem go w Font Editor w bascomie i edytowalem znaki, których i tak nie będę nigdy używał. Dorobiłem sobie stopień celsjusza :)
Masz może jakiś poradnik albo instrukcję jak krok po kroku używać tego Twojego programu Font Maker?