вот тут почитай, там кода немного, чуток более 1000 строк, дисплей как раз на HSPI у ESP32 используется, да код универсальный, под любой мой дисплей
А как она отличает ОЗУ и flash?
Прикольно получается, если так
const unsigned char ris_0[ ]
то флеш , а так ОЗУ
unsigned char ris_0[ ]
Вы сперва определитесь, с какой платформой работаете. Ибо разница как раз в этом.
Это у AVR RAM и FLASH в разных адресных пространствах.
У ESP32 и STM32 всё как у больших … одно адресное пространство
А я смотрю что так просто получается… одной const можно отличать, хотя и по старому (как в AVR) работает, не ругается
Практически посмотрел, по расходу ресурсов в скетчах, в озу влезет меньше 10 картинок, в флеш около 25-26 штук полноэкранных.
Ставьте const и не подключайте PROGMEM
Что бы картинка оказалась в RAM - она должна туда при старте скопироваться из FLASH. У нас же RAM сбрасывается без питания …
Посмотрел скорость вывода картинки. На уно было 110 мс (около). Здесь 81 мс. Неожиданно.
Скорость вывода не напрямую связана с частотой работы процессора.
Наоборот, думал около 110 будет…
С RAM не подумал, размечтался о 35 фотках. Ну, можно попробовать 6480 выводить как 128160. Посмотрю насколько это уродливо.
Куда значок “умножить” исчезает в сообщениях?
Работает не “по старому”, а так, как и должно работать (“по-новому”). Прогмем просто выбрасывается еще до компиляции.
Т.е. pgm_read_* - эта конструкция исключительно для Гарвардской архитектуры. Возможно даже - с некоторым насилием над компилятором. А для 32-разрядных камней она попросту (как и должно быть) выбрасывается.
Если бы вместо этого ругался - было бы легче?
Наоборот. Чем меньше текст скетча меняется тем лучше, в идеале одна плата с одним набором пинов и их функций, но с разными МК
Странный идеал:
- во-первых, один набор функций принципиально недостижим с различными МК,
- во-вторых, при одном наборе функций бессмысленно использовать более “навороченный” МК, т.к. его навороты попросту не будут использованы.
Так что получается, “идеал” и недостижим, и нецелесообразен.
Ставь x, астериск активирует italic для фонта.
Понял…
Во!, с моей остротой зрения и размером экранчика вполне сносно. Так что можно и 100 картинок.
Написал функцию вывода заданного фрагмента массива картинки по координатам - теперь можно анимировать-фантазировать смену фоток.
А почему изображение так дергается?
Сергей! Каждый раз, когда я читаю твой пост, я почему-то представляю сэра Шурфа Лонли-Локли. Ты не похож на любителя лёгкого чтения, поэтому не жду, что ты знаком с персонажем. Но ты это он!!!
Изображение дёргается - шаг задан в 4 пикселя. При шаге в 1 пиксель движение плавное. Плюс ещё гифка (искажает) - 5 кадров в секунду, при отрисовке на экране в 12.