Cześć
Zakupiłem ostatnio wyświetlacz LCD taki jak tutaj
Programuję w bascomie i przeczytałem całą dokumentację nawet kilku producentów wyświetlaczy używających tego modułu ILI9341. Do końca nie było jasno wyjaśnione jak wysyłać komendy, ale jakoś to ogarnąłem po swojemy. Stworzyłem kod bazując na inicjalizacjach innych osób. Stworzyłem coś takiego jednak nie działa, a może działa, ale ja nie widzę efektu. Mógłby ktoś powiedzieć gdzie jest błąd albo podrzucić jakiś działający kod na ktorym można się wzrowować?
Chciałbym żebyście się skupili na writecomand i writedata czy na sto procent jest poprawnie wykonany.
Dzięki!
Zakupiłem ostatnio wyświetlacz LCD taki jak tutaj
Moderowany przez ANUBIS:4218813488. Chciałem go połączyć z moją Atmegą, ale nie mogę przejść samego początku i chociaż wyświetlić 1 piksel.3.1.18. Zabronione jest publikowanie informacji do źródeł, które po pewnym czasie wygasają (publikowanie odnośników do stron o charakterze krótkotrwałym).
Programuję w bascomie i przeczytałem całą dokumentację nawet kilku producentów wyświetlaczy używających tego modułu ILI9341. Do końca nie było jasno wyjaśnione jak wysyłać komendy, ale jakoś to ogarnąłem po swojemy. Stworzyłem kod bazując na inicjalizacjach innych osób. Stworzyłem coś takiego jednak nie działa, a może działa, ale ja nie widzę efektu. Mógłby ktoś powiedzieć gdzie jest błąd albo podrzucić jakiś działający kod na ktorym można się wzrowować?
Chciałbym żebyście się skupili na writecomand i writedata czy na sto procent jest poprawnie wykonany.
$regfile = "m328pdef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Portd = &B1111111
Config Portc = &B1111111
Db Alias Portd
Wr Alias Portc.5
Rs Alias Portc.4
Rd Alias Portc.3
Cs Alias Portc.2
Rst Alias Portc.1
Declare Sub Writedata(byval Comand As String)
Declare Sub Writecomand(byval Comand As String)
Cs = 0
Rst = 1
Waitms 5
Rst = 0
Waitms 15
Rst = 1
Waitms 15
Call Writecomand( "1")
Waitms 15
Call Writecomand( "c0")
Call Writedata( "26")
Call Writecomand( "c1")
Call Writedata( "11")
Call Writecomand( "c5")
Call Writedata( "35")
Call Writedata( "3e")
Call Writecomand( "c7")
Call Writedata( "be")
Call Writecomand( "36")
Call Writedata( "48")
Call Writecomand( "3a")
Call Writedata( "55")
Call Writecomand( "b1")
Call Writedata( "00")
Call Writedata( "1a")
Call Writecomand( "f2")
Call Writedata( "8")
Call Writecomand( "26")
Call Writedata( "1")
Call Writecomand( "E0")
Call Writedata( "1f")
Call Writedata( "1a")
Call Writedata( "18")
Call Writedata( "a")
Call Writedata( "f")
Call Writedata( "6")
Call Writedata( "45")
Call Writedata( "87")
Call Writedata( "32")
Call Writedata( "a")
Call Writedata( "7")
Call Writedata( "2")
Call Writedata( "7")
Call Writedata( "5")
Call Writedata( "0")
Call Writecomand( "E1")
Call Writedata( "0")
Call Writedata( "25")
Call Writedata( "27")
Call Writedata( "5")
Call Writedata( "10")
Call Writedata( "9")
Call Writedata( "3a")
Call Writedata( "78")
Call Writedata( "4d")
Call Writedata( "5")
Call Writedata( "18")
Call Writedata( "d")
Call Writedata( "38")
Call Writedata( "3a")
Call Writedata( "1f")
Call Writecomand( "2a")
Call Writedata( "0")
Call Writedata( "0")
Call Writedata( "0")
Call Writedata( "EF")
Call Writecomand( "2b")
Call Writedata( "0")
Call Writedata( "0")
Call Writedata( "1")
Call Writedata( "3F")
Call Writecomand( "34")
Call Writecomand( "b7")
Call Writedata( "7")
Call Writecomand( "b6")
Call Writedata( "a")
Call Writedata( "82")
Call Writedata( "27")
Call Writedata( "00")
Call Writecomand( "11")
Waitms 60
Call Writecomand( "29")
Waitms 100
Call Writecomand( "2c")
Call Writecomand( "5D")
End
Sub Writedata(comand As String)
Rd = 1
Rs = 1
Wr = 0
Db = Hexval(comand)
Waitus 100
Wr = 1
Waitus 100
End Sub
Sub Writecomand(comand As String)
Rd = 1
Rs = 0
Wr = 0
Db = Hexval(comand)
Waitus 100
Wr = 1
Waitus 100
End Sub
Dzięki!
