Такой:
Сравнение с предыдущей
моделью:
плюсы:
- Хорошо/стабильно работает на высоких частотах по шины I2C (пока пробовал до 2МГц);
- Стандартный
SSD1306 контроллер, полная поддержка всех режимов (а их там 3);
- Простота реализации схемы и минимальные габариты;
- Можно менять яркость отображаемой информации;
- Состояние пикселей - инвертировать содержимое или нет;
- Поворачивать изображение на 180 градусов;
- Чересстрочная развёртка (для динамических сцен полезно);
- Возможно GDDRAM имеет большее адресное пространство, чем отображается/выводится (до конца не проверял)...
минусы :
- Более сложная система графического вывода GDDRAM (требует больше ресурсов МК);
- Нет поддержка текста (нужно писать код, рисовать шрифты);
- Чересстрочная развёртка (усложняет вывод).
Сейчас вывод (алгоритм) решил сделать через линейный буфер (вначале рисую в памяти МК, а потом вывожу на дисплей), т.к. дисплей чересстрочный + вертикальная пикселизация. Потребляет 1024 байт RAM в МК (не считая переменных). Если делать отображение видео/фото или постраничный интерфейс, то можно адаптировать код для работе без буфера. Правда хочу реализовать вывод текста с разными шрифтами (размер), проще делать через линейный буфер чем реализовывать на лету. Ну и код пока не оптимизирован, впрочем для XMega - это не критично.
Пока результат такой:
А это результат на старом экране:
Click to view