Samsung S6B0108 (Winstar WG12864F)
Назначение линий ввода-вывода для WG12864F
Для этой панели нужны шесть линий ввода-вывода и 8-битная шина данных. Линии управления - RST, EN, CS1, CS2, D/I и R/W. Каждую линию управления можно подключить к любому выводу ввода-вывода вашего устройства, и каждый такой вывод должен быть настроен как выход (если устройство требует явной настройки буфера линии ввода-вывода). Шину данных можно подключить к любому 8-битному порту. НЕ настраивайте этот порт как выход.
Для работы дисплея свойство lcd.iomapping должно быть задано правильно (см. Подготовка дисплея к работе). Для этого дисплея строка назначения состоит из семи десятичных значений через запятую:
- Номер линии ввода-вывода, подключённой к RST.
- Номер линии ввода-вывода, подключённой к EN.
- Номер линии ввода-вывода, подключённой к CS1.
- Номер линии ввода-вывода, подключённой к CS2.
- Номер линии ввода-вывода, подключённой к D/I.
- Номер линии ввода-вывода, подключённой к R/W.
- Номер порта ввода-вывода, подключённого к DATA7-0.
Номера линий ввода-вывода берутся из перечисления pl_io_num. Номер порта берётся из перечисления pl_io_port_num. Номера линий и портов зависят от платформы. Список констант pl_io_num и pl_io_port_num см. в спецификациях платформы.
Для TEV-LB0 свойство lcd.iomapping нужно установить в "44,46,40,41,43,42,4."
Пример кода - TEV-LB0
Этот код правильно настроит и включит данный контроллер/панель (предполагается, что тестирование ведётся на TEV-LB0):
lcd.iomapping="44,46,40,41,43,42,4" 'RST,EN,CS1,CS2,D/I,R/W,DATA7-0
'configure control lines as outputs
io.num=PL_IO_NUM_46 'EN
io.enabled=YES
io.num=PL_IO_NUM_44 'RST
io.enabled=YES
io.num=PL_IO_NUM_40 'CS1
io.enabled=YES
io.num=PL_IO_NUM_41 'CS2
io.enabled=YES
io.num=PL_IO_NUM_42 'R/W
io.enabled=YES
io.num=PL_IO_NUM_43 'D/I
io.enabled=YES
'set resolution
lcd.width=128
lcd.height=64
'optionally set lcd.rotated here
lcd.enabled=YES 'done!
'turn on the backlight (strictly speaking, this is not related to the LCD control, but we still show it here)
io.num=PL_IO_NUM_47
io.enabled=YES
io.state=HIGH
set_lcd_contrast(11) 'this is for external contrast control circuit
Регулировка контрастности
Это не часть самой панели, но код, который будет работать на TEV-LB0, всё же приводится:
Sub set_lcd_contrast(level As Byte)
'enable port, output data
io.portnum=PL_IO_PORT_NUM_4
io.portenabled=255
io.portstate=level
'generate strobe for the data register (on the LCD PCB)
io.num=PL_IO_NUM_48
io.enabled=YES
io.state=HIGH
io.state=LOW
'disable port
io.portenabled=0
End Sub
Можно, конечно, разработать собственную схему регулировки контрастности.