Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Показано с 1 по 6 из 6

Тема: Исправен ли дисплей ST7735

  1. #1

    Исправен ли дисплей ST7735

    Дисплей 1.8 дюйма, контроллер дисплея ST7735
    После включения - светит белым экраном, после инициализации появляется цифровой разноцветный мусор, командой сброса 0x01 мусор убирается, но ничего вывести на дисплей не удается. Нормально ли вообще что дисплей начинает работу с того что светит белым? На всех примерах на фотках черный дисплей


  2. #2
    Причем команда на ограничение рабочего поля работает - оно ограничивается, правда только по той оси где пикселей больше, то есть 160, а по той оси где 128 не ограничивается. За рабочей областью тот же белый фон, а в рабочей области мусор

  3. #3
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    11,084
    Записей в дневнике
    20
    Позывной
    UA1ARN
    Есть похожий по всем командам дисплей ILI9163 - у которого в команде установки окна адреса восьмибитные…
    Может Вам такой подсунули?

    Код:
    	#if LCDMODE_ILI9163
    		spi_progval8_p1(targetlcd, ys);     // ys7:ys0 YSTART
    		spi_progval8_p2(targetlcd, ye);     // ye7:ye0 YEND
    	#else
    		spi_progval8_p1(targetlcd, ys >> 8);			// ys15:ys8
    		spi_progval8_p2(targetlcd, ys);     // ys7:ys0 YSTART
    		spi_progval8_p2(targetlcd, ye >> 8);				//ye15:ye8
    		spi_progval8_p2(targetlcd, ye);     // ye7:ye0 YEND
    	#endif
    ... Я там глубину сам промерял!

  4. #4
    Имеется подобный 1.44 на таком же контроллере, не все библиотеки одинаково полезны. В описании к видео есть ссылки на библиотеки и тестовый скетч. С библиотекой из видео завелся. Если конечно дуина используется. https://www.youtube.com/watch?v=G6wg...&index=12&t=0s

  5. #5
    Разобрался я с дисплеем. Оказывается, нужно заливать все пиксели фоновым цветом, а я подумал что команда сброса 0x01 очищает весь дисплей, а она не для этого. На заполнение всего поля 128*160 пикселей у контроллера с тактовой частотой 16 МГц уходит примерно секунды две, думаю, если программу доработать(не вычислять для каждого пикселя каждый бит двух байтов цвета как элемент массива D[8] d02[8] а при одинаковом цвете этот массив остается неизменным) немного быстрее будет

  6. #6
    2 сек много...я очищал по другому-задавал всю область,а потом "запихивал" туда цвет 128*160 раз и все,очистка около 0,2-0,3 сек

    Sub Lcd_clear(byval Color As Word)-Color=цвет
    Lcd_set_window 0 , 0 , X_size , Y_size
    'Lcd_cs = 0
    Lcd_dc = 1
    !LD XL, Y+0
    !LD XH, Y+1
    !LD R31, X+
    !LD R30, X
    !ldi R16, $c8 '76800 200
    Wgloop0:
    !ldi R17, $C0 '192
    Wloop1:
    !OUT spdr, R30
    Spi_ready1:
    !sbis spsr, spif
    !rjmp spi_ready1
    !OUT spdr, R31
    Spi_ready:
    !sbis spsr, spif
    !rjmp spi_ready
    !OUT spdr, R30
    Spi_ready2:
    !sbis spsr, spif
    !rjmp spi_ready2
    !OUT spdr, R31
    Spi_ready3:
    !sbis spsr, spif
    !rjmp spi_ready3
    !subi R17, 1
    !brne wloop1
    !subi R16, 1
    !brne wgloop0
    ' Lcd_cs = 1
    End Sub

    Sub Lcd_set_window(byval Xpos As Word , Byval Ypos As Word , Byval Xsize As Word , Byval Ysize As Word)
    ' Lcd_cs = 0
    Lcd_dc = 0
    !LDI R23, $2a
    !OUT spdr, R23
    Spi_30:
    !sbis spsr, spif
    !rjmp spi_30
    Lcd_dc = 1
    !ldd R26, Y+6 ' xpos
    !Ldd R27, Y+7
    !LD R18, X+
    !LD R17, X
    !OUT spdr, R17
    Spi_read31:
    !sbis spsr, spif
    !rjmp spi_read31
    !OUT spdr, R18
    Spi_read32:
    !sbis spsr, spif
    !rjmp spi_read32
    !ldd R26, Y+2 ' xsize
    !Ldd R27, Y+3
    !LD R18, X+
    !LD R17, X
    !OUT spdr, R17
    Spi_read33:
    !sbis spsr, spif
    !rjmp spi_read33
    !OUT spdr, R18
    Spi_read34:
    !sbis spsr, spif
    !rjmp spi_read34
    Lcd_dc = 0
    !LDI R23, $2b
    !OUT spdr, R23
    Spi_35:
    !sbis spsr, spif
    !rjmp spi_35
    Lcd_dc = 1
    !ldd R26, Y+4 ' ypos
    !Ldd R27, Y+5
    !LD R18, X+
    !LD R17, X
    !OUT spdr, R17
    Spi_read36:
    !sbis spsr, spif
    !rjmp spi_read36
    !OUT spdr, R18
    Spi_read37:
    !sbis spsr, spif
    !rjmp spi_read37
    !ldd R26, Y+0 ' ysize
    !Ldd R27, Y+1
    !LD R18, X+
    !LD R17, X
    !OUT spdr, R17
    Spi_read38:
    !sbis spsr, spif
    !rjmp spi_read38
    !OUT spdr, R18
    Spi_read39:
    !sbis spsr, spif
    !rjmp spi_read39
    Lcd_dc = 0
    !LDI R23, $2c
    !OUT spdr, R23
    Spi_40:
    !sbis spsr, spif
    !rjmp spi_40
    ' Lcd_cs = 1
    End Sub

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ST7735 без АРДУИНО
    от SoundMaster в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 3
    Последнее сообщение: 29.01.2019, 17:12
  2. IC-820 дисплей
    от ivin в разделе УКВ техника
    Ответов: 2
    Последнее сообщение: 17.10.2013, 08:45
  3. Дисплей для FT-890
    от Peps888 в разделе FT-890
    Ответов: 1
    Последнее сообщение: 20.04.2011, 18:55
  4. дисплей 756-го
    от Донанат в разделе Технический кабинет
    Ответов: 15
    Последнее сообщение: 26.09.2010, 21:42
  5. Дисплей TS-850
    от Vano в разделе TS-850
    Ответов: 4
    Последнее сообщение: 23.10.2007, 12:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •