Страница 1 из 1

CodeVisionAVR 3.12 Advanced и китайский дисплей на ST7565R

Добавлено: Ср сен 14, 2022 13:59:50
Combatos
Всем здоровья! Удалось заставить работать китайский дисплейчик GMG12864-06D v2.0 c Алиэкспресс с мк ATmega328P c помощью встроенной библиотеки CodeVisionAVR. Кому интересно, расскажу как. Но этот дисплей сожрал 1024 байта RAM для своего буфера, и для основной программы совсем мало места осталось, не влазит.. Хотел посмотреть файл библиотеки glcd_st7565.lib может там можно уменьшить размер буфера, а файл походу закодирован, матюки какие-то.. И так большинство библиотечных файлов. А вот например lcd4x40.lib, открывается в текстовом редакторе норм, видно код на С. И в CodeVision открывается, всё ок. Может, библиотеки для третьей версии CodeVision закодировали? Или я хернёй занимаюсь и уменьшить размер буфера для этого дисплея не получится? Кто работал с таким?

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Сб сен 17, 2022 11:05:40
Just_Fluffy
Combatos, 7565 - тупой как валенок.
Монохромник 128х64 пикселя. всего 8192 пикселей. 1 бит на пиксель. Итого видеопамять дисплея 1 кб.
Соответственно, нужно выводить на него сразу 1 байт - 8 пикселей.
А минус таких дисплеев - зачастую нельзя прочитать из дисплея содержимое его видеопамяти - не все контроллеры это позволяют.
И что б не было таких плясок с бубном - обычно делается буфер в ОЗУ контроллера, в нем всё рисуется, а потом весь буфер (или измененная часть) выплевывается в МК.

При этом видеопамять в этом дисплее организована горизонтальными полосами по 8 пикселей в высоту. Всего таких полос - 8.
Можете попробовать нарисовать свою библиотеку, которая содержит буфер только для 1-2-4 полос. И рисовать-выводить картинку по частям, проецируя буфер на разные области экрана.

Система команд дисплея (поделился один из форумчан)
ST7565 commands.zip
(216.29 КБ) 324 скачивания

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Вс сен 18, 2022 12:29:34
codenamehawk
Just_Fluffy писал(а):А минус таких дисплеев - зачастую нельзя прочитать из дисплея содержимое его видеопамяти - не все контроллеры это позволяют.
И какой смысл читать его память?
Она что может сама поменяться?

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Вс сен 18, 2022 20:56:51
Just_Fluffy
codenamehawk, а как зажечь на дисплее один пиксель, НЕ ТРОГАЯ 7 соседних?
Либо прочитать видеопамять, либо иметь копию видеопамяти в ОЗУ МК.
Эта копия - 1 кб.
ТСу не хватает ОЗУ в МК.
Чтение-модификация-запись позволит вообще не выделять буфер в ОЗУ. Но далеко не все дисплеи так могут.

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Вс сен 18, 2022 21:05:19
codenamehawk
Just_Fluffy писал(а):а как зажечь на дисплее один пиксель, НЕ ТРОГАЯ 7 соседних?
Выведите все восемь сразу, прежние семь(вернее восемь) вы выводили, значит имеете представление, что там хранится.
Иногда проще перерисовать весь дисплей(или заданный прямоугольник) при помощи функций типа нарисовать линию, квадрат, текст и.т.п., чем создавать большой буфер.

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Вс сен 18, 2022 22:32:43
Just_Fluffy
Что бы иметь представление, что у меня раньше было в 7 остальных битах - нужно их помнить. Что автоматом возвращает нас к необходимости буфера хотя бы для части экрана. Я об этом писала, почитайте выше.

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Пн сен 19, 2022 16:27:37
kote52
Спокойно работатаю с библиотекой u8g2lib.

Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST756

Добавлено: Вт ноя 22, 2022 10:23:08
Novice user
Тоже возник вопрос по данному дисплею.питание дисплея и мк 5 вольт
По даташиту в режиме Sleep mode потребление должно быть не более 4 мкА,у меня меньше 3 миллиампер не получается,код взял отсюда https://github.com/rdagger/Pi-ST7565/bl ... /st7565.py
def sleep(self):
"""Put ST7565 display in sleep mode"""
self.send_command([self.CMD_SET_STATIC_OFF])
self.send_command([self.CMD_DISPLAY_OFF])
self.send_command([self.CMD_SET_ALLPTS_ON])
Подсветку отключаю,почему так много потребляет-может кто в курсе?

Добавлено after 15 minutes 43 seconds:
Re: CodeVisionAVR 3.12 Advanced и китайский дисплей на ST7565R
И почему то нет стабилизатора на 3,3 вольта на плате дисплея-стоит перемычка,попробую впаять XC6206-3,3

Впаял XC6206,потребление в режиме Sleep стало 2 мА,в режиме stanby менее 100 микроампер...что за фигня....
Разобрался,всем спасибо!