Записи - то я для себя больше делал. Принцип адресации и организации дисплея был мне понятен. Я описал именно физическое подключение и инициализацию.
Если у вас памяти мало - то вам просто нужно знать, что и где у вас на экране. И выводить через минибуффер только туда, куда надо. Если нужно погасить весь экран - то у вас же есть код вывода картинки.... Его переделать чуток и очистка экрана готова
Pretender, так это вы уже по своей задаче должны смотреть. Сначала, на старте, да, надо погасить дисплей. Ибо на нём мусор. А потом - если надо очистка, чистите. Если вам нужно обновлять какие то небольшие области - то зачем всё чистить и заново выводить?
Кстати, с этим дисплеем интересная штука. Текстовый и графический режимы у него независимы. И память у каждого - своя. Т.е. при включении нужно сначала дать команду очистки текстового дисплея, потом переключиться в графику и очистить видеопамять нулями. Иначе можно увидеть интересные артефакты - символы из текстового режима будут складываться по XOR с картинкой из граф. режима
lizard66, в последовательном тоже можно читать вроде бы. Во всяком случае, бит чтения-записи там есть. Каждый байт команды/данных в последовательном режиме отправляется тремя байтами. И первый байт как раз и содержит биты-указатели, команда или данные идут и чтение или запись производится : 1 1 1 1 1 RW DC 0
Зачем в стартовом байте оставили RW великая загадка. Конечно, само по себе отсутствие MISO еще не говорит о том, что обмен односторонний, DS1302 со своим специфичным SPI обходится и без него. Однако сам производитель не оставляет сомнения …
Цитата:
Serial interface: ST7920 is in serial interface mode when pulling down PSB pin. Two pins (SCLK and SID) are used to complete the data transfer. Only write data is available in the serial interface mode.
Но читать, а потом писать - это геморно. При том, что еще и дисплей тормозной, одну команду или байт данных пережевывает минимум 70 (а то и все 80-90) микросекунд. Если по последовательному протоколу слать, то тактовую выше 1.666 МГц вроде нельзя подавать. Я тестировал - 1.75 МГц он еще проглотил, а на 2 МГц уже пошли артефакты. Если в применении к АВРкам, то тут грустно. Аппаратный СПИ при тактовой 8 МГц - это или 1, или 2 МГц. Нам подходит только 1 МГц. Либо ставить на АВР кварц 12 МГц. Тогда СПИ можно на 1.5 МГц раскочегарить. В результате эти циклы чтения-записи будут отбирать на ожидания вагон времени. И для основной программы останется ресурсов всего ничего.
Был один смешной проектик на Мега8, я применил ЛЦД на KS0108. Экран тоже не слишком быстрый, буфер выделять было не из чего. Позже проект разростался, был портирован сперва на М32 потом на М644, но драйвер ЛЦД переделывать не стал. В какой-то момент прикрутил компас и вот как это выглядит на М32 16МГц, вполне себе живенько -
Тут уже выведенные данные считываются с индикатора, сливаются с новыми данными и обновленное отправляется в индикатор. Т.ч. «тормозной дисплей» это все относительно.
Когда руки дошли до ST7920, уже экспериментировал с STM. Тот же проект, только на F407 с ST7920 в режиме SPI…
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
lizard66, ну на самом деле один мой знакомый сказал, что в 2021 году делать изделия на контроллерах 15летней давности - моветон. Ну в чем то я с ним согласен. Но что поделать, если у меня в коробочке лежит порядка 70 штук Атмега8, десяток атмег 32, несколько 128х и пучок тинек? Вот и приходится иногда страдать некрофилией. С другой стороны - какую то приблуду на 2-3-4 кнопки, 5 светодиодов и два реле можно делать и на атмеге 8. -- Но для монохромных дисплеев я не хочу полагаться на чтение из дисплея и т.д. Мне проще взять камушек, у которого больше килобайта ОЗУ, что б выделить 1024 байта под видеобуфер. Это удобно. Графическая библиотека рисует все примитивы в этом буфере - ей пофиг, где рисовать. А драйвер выгружает буфер в дисплей. Либо по таймеру, либо по событию. с ОЛЕДками - мне проще буфер выплюнуть вручную, по вызову update. Тем более, я в драйвере предусмотрел возможность выгрузки только измененных областей. А геморнутость и тормознутость 7920 (обработка одной команды - от 70 мкс) вынудили замутить таймерное обновление. На СТМ еще и ДМА заюзал, что б вручную не ждать отправки 3 или 6 байт по СПИ. Делал БП себе (фото показывал) - там СТМка успевает и дисплей обслужить, и кнопки опросить, и 1000 раз в секунду прочитать значение тока и напряжения по и2ц, и буфер на 20 000 измерений обработать и картинку нарисовать. Так что все же для монохромников - проще буфер и не извращаться.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
lizard66, ну на самом деле один мой знакомый сказал, что в 2021 году делать изделия на контроллерах 15летней давности - моветон. Ну в чем то я с ним согласен. Но что поделать, если у меня в коробочке лежит порядка 70 штук Атмега8, десяток атмег 32, несколько 128х и пучок тинек? Вот и приходится иногда страдать некрофилией. С другой стороны - какую то приблуду на 2-3-4 кнопки, 5 светодиодов и два реле можно делать и на атмеге 8. --
Я такой же некро… (в лучшем смысле этого слова) ,как и Вы. Приходиться заниматься ремонтом строительных нивелиров, а там в основном STC или холтеки, сдуваю оригинальный проц, ставлю тиньку ( приходиться подрезать слегонца дорожки) и туда свою прошиву. Уже есть свой отлаженный шаблон, только правлю под конкретный случай и вперед.
Но для монохромных дисплеев я не хочу полагаться на чтение из дисплея и т.д. Мне проще взять камушек, у которого больше килобайта ОЗУ, что б выделить 1024 байта под видеобуфер.... ....Так что все же для монохромников - проще буфер и не извращаться.
Не стал конкретизировать, но раз ST7920 работает по SPI, то естественно выделен буфер. И да, я тоже обновляю только ту часть экрана, которая подверглась изменению.
Ну, обмен по SPI - это транспорт только. А так - юзать буфер или не юзать - это уже вопрос алгоритма. Может на дисплей надо инфографику в виде спрайтов 16*16 выводить и всё.... Тогда можно и без буфера. Я "Часы на TFT" сделал без буфера и без чтения с экрана. Рассчитал области, что б они не перекрывались и рисовал в каждой прямо в дисплей.
Ну, обмен по SPI - это транспорт только. А так - юзать буфер или не юзать - это уже вопрос алгоритма. Может на дисплей надо инфографику в виде спрайтов 16*16 выводить и всё.... Тогда можно и без буфера. Я "Часы на TFT" сделал без буфера и без чтения с экрана. Рассчитал области, что б они не перекрывались и рисовал в каждой прямо в дисплей.
slav0n, проблематика использования дисплеев на мелких МК в том, что если не используется процедурная графика, то требуется вагон памяти под графические ресурсы. Тот же шрифт 5*8 - долой килобайт памяти. И т.д. Вон у меня сейчас проблема. Есть задача сделать некий контроллер на ТФТ-дисплее 240*240 пикселей. если б не такой дисплей - контроллер уместился бы, наверное, в мегу-16. А так - придется взять стм32 с 256 кб флеша. Ибо полноцветный дисплей требует и цветные картинки (2 байта на пиксель). А они весят много. Да и шрифт тоже покрупнее нужен. Я экспериментировал - 12*20 с трудом. СпойлерКартинка 160*160 пикселей - 51 килобайт.
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:0
Коллеги, я попытался крутануть потенциометр нв своем QC12864B - там под 3-й "кляксой" рядок резисторов R1-R7, а слева и чуть выше - крохотка-потенциометр VR, вот, его я и крутнул. И, похоже, свернул. Что там стоит, и чем бы его заменить?
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
afz, У меня тестер говорит 4.88 кОм Т.е. ищите 4.7- 5кОм
Добавлено after 1 hour 18 minutes 15 seconds: afz, вот только я на своих дисплеях так и не увидел влияния этого потенциометра. Контраст регулировался через вывод VD.
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:0
GoldenAndy писал(а):
вот только я на своих дисплеях так и не увидел влияния этого потенциометра. Контраст регулировался через вывод VD.
Купил, наконец, батарейку в свой мультиметр, вооружился хорошей лупой и таки разобрался. На моём дисплее потенциометр напрямую подключен подковой к VDD и VSS, а движок - к V0. То есть, этот дисплей строго 5-вольтовый, при питании от 3 В контрастности не добьешься. И контрастность регулируется именно этим потенциометром. Он у меня, кстати, 2.2 кОм. Еще на этом дисплее в подтяжке PSB к +5В стоял R9=0 (перемычка), для переключения на SPI пришлось выпаять эту перемычку.
Осталось найти в кладовке китайскую пробную платку с 8-й Мегой и собрать тестовый стенд.
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:0
Какие картинки? С фото возиться не хочу, дорожки там, частично, идут по второй стороне. И что неясного в том, что концы подковы потенциометра коротко звонятся на VDD и VSS, а лвижок, не менее коротко, на V0?
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
afz, попробуйте снять резистор. тогда, возможно, получится запитать логику дисплея от 3 вольт, а на контраст подать более высокое.... (если мне память не изменяет - там надо порядка 4.5 вольт для черного-на-зеленом и 4 вольт для белого-на-синем...) Без резистора, возможно ,там будет мелкий ток и повышенное можно получить будет какой то повышайкой.... Накачкой на дросселе или умножителем....
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:0
GoldenAndy писал(а):
Без резистора, возможно ,там будет мелкий ток
Это у меня будет вторым этапом. Сначала, по-простому, подам 5В и подключу к АВР-ке. 8-ю Мегу не нашел, зато нашел аардуинку-нано, на 328-й Меге. Попробую на ней, а там вдно будет
GoldenAndy писал(а):
и повышенное можно получить будет какой то повышайкой.... Накачкой на дросселе или умножителем....
Вот здесь, в таблице с распиновкой, утверждают, что на выводе VOUT та самая 7920 генерит удвоенное напряжение VDD. Еще не проверял, соберу стенд - обязательно проверю.
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
afz, чего-то я проморгал про VOut в свое время. Просто все устройства на этом дисплее у меня с не-батарейным питанием. И процы там - бибо СТМ, тоглда дисплей 3.3 вольта жрёт, либо атмелы. На СТМках я ШИМил контраст от 5 вольт, на мегах - напрямую от МК. -- Кстати, если "в лоб", с промежуточным видеобуффером в памяти МК - то на Меге8 не заведется. Видеобуфер - 128*64/8 = 1024 байта. А в Меге 8 - всего 1 кб ОЗУ. Так что абдуринка - ваше всё. Там уже 2 кб памяти.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения