STM32_OLED
На основе STM32 — 12864 OLED-драйвер:
Перенос удобен, конфигурация интерфейса нижнего уровня удобна (можно выбрать SPI и IIC).
Конфигурация размера шрифта и т. д. использует табличный режим управления, добавление/изменение/удаление удобно и быстро, поддерживается смешанный ввод и вывод китайских и английских символов (китайское кодирование GB2312).
Поддерживает различные методы выборки, можно выбрать разные методы выборки в соответствии с шириной шрифта для уменьшения занимаемого пространства точечной матрицы.
Поддержка обрезки набора символов ASCII, в зависимости от конкретных потребностей можно установить сохранение только части данных точечной матрицы набора символов ASCII для уменьшения занимаемой памяти.
OLED использует двойной буферный механизм, который отделяет операции на экране OLED от функций отображения, сокращает время операций на экране и синхронизирует экран по времени (обновляется с частотой, приемлемой для человеческого глаза).
Подобно функции printf, реализуется форматированный вывод, поддерживается функция оконного printf (поддерживается операция возврата каретки и перевода строки), реализуется прокручиваемый вывод (размер окна и шрифт настраиваются).
Код хорошо прокомментирован, стиль унифицирован, что облегчает чтение и использование.
oled.c и oled.h — реализация конкретных функций, предоставление внешних API-интерфейсов функций.
oledio.c и oledio.h — функции аппаратного интерфейса, реализация функций связи SPI или IIC; требуется модификация при переносе.
oledconf.c и oledconf.h — конфигурация шрифта, графическая конфигурация и другие функции конфигурации.
fontxxx.h и bmp.h — используются для хранения данных точечных матриц шрифтов и графических BMP.
При переносе необходимо изменить соответствующие функции аппаратного интерфейса в oledio.c; выберите тип интерфейса через макроопределение "_DRIVE_INTERFACE_TYPE".
Перед использованием вызовите функцию инициализации OLED_Init, также можно использовать OLED_Clear для немедленной очистки экрана.
Вызывайте функцию OLED_ShowTask периодически, чтобы синхронизировать содержимое экрана (то есть данные буфера синхронизируются с отображением на OLED).
Можно определить макрос "_USE_OLED_PRINTF", чтобы включить функцию форматированного вывода OLED, аналогичную функции printf.
В исходном файле можно настроить требуемый шрифт, необходимо синхронно изменить определение перечисления efontSize
в заголовочном файле.
/** Шрифтовая таблица конфигурации */
static fontConfig_t sg_tFontCfgTable[FONT_MAX_NUM] =
{
{FONT_MODE_COLUMN_BY_ROW, 6, 12, 12, ' ', '~', ASCII_6X12_DATA, FONT_12X12_IDX, FONT_12X12_DATA},
{FONT_MODE_COLUMN_BY_ROW, 8, 16, 16, ' ', '~', ASCII_8X16_DATA, FONT_16X16_IDX, FONT_16X16_DATA},
{FONT_MODE_COLUMN_BY_ROW, 12, 24, 24, ' ', '~', ASCII_12X24_DATA, FONT_24X24_IDX, FONT_24X24_DATA},
{FONT_MODE_COLUMN_BY_ROW, 16, 32, 32, ' ', '~', ASCII_16X32_DATA, FONT_32X32_IDX, FONT_32X32_DATA}
};
efontSize
в заголовочном файле./** Графическая таблица конфигурации */
static graphicConfig_t sg_tGraphicTable[OLED_GRAPHIC_NUM] =
{
{FONT_MODE_PROGRESSIVE, 86, 64, "bootLog", LOG_BMP}
};
Блог CSDN 大橙子疯.
Электронная почта const_zpc@163.com.
Чтобы узнать больше, подпишитесь на официальный аккаунт WeChat.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )