База дисплеев мобильных устройств
Re: База дисплеев мобильных устройств
Это 8х12 цифры ?
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
[uquote="otest",url="/forum/viewtopic.php?p=3130374#p3130374"]Это 8х12 цифры ?[/uquote]
В окошке импорта можно изменить размер, смешение, имя шрифта
шрифты все разные и угадать при каком размере получится нужный размер циферки не получается
да - импортируются только выбранные символы - зажимаете левую клавишу мыши, тянете, отпускаете, потом кнопка "импорт"
я для импорта цифр обычно использую Arial Black
PS оказывается забыл readme вылодить - см. во вложении
В окошке импорта можно изменить размер, смешение, имя шрифта
шрифты все разные и угадать при каком размере получится нужный размер циферки не получается
да - импортируются только выбранные символы - зажимаете левую клавишу мыши, тянете, отпускаете, потом кнопка "импорт"
я для импорта цифр обычно использую Arial Black
PS оказывается забыл readme вылодить - см. во вложении
- Вложения
-
- readme.linux.utf8.txt
- (8.35 КБ) 1186 скачиваний
-
DimAlt
- Вымогатель припоя
- Сообщения: 576
- Зарегистрирован: Пт май 19, 2006 05:39:11
- Контактная информация:
Re: База дисплеев мобильных устройств
Ваша программа супер! До этого использовал TheDotFactory-0.1.4, но там нет редактора символа и генерируется два массива, в одном данные, в другом ширина, смещение символа.
Можно посмотреть на Ваш код вывода символа? То есть, код работы с заголовком, смещением и т.д.
Можно посмотреть на Ваш код вывода символа? То есть, код работы с заголовком, смещением и т.д.
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
потому и сделал программу, что все остальные редакторы были не особо
кстати недавно перелопатил свою библиотечку
там и вывод шрифта, и рисование (контекст дисплея)
2 типа экранов в ОЗУ (2х и 4х цветный), дисплеи nokia 1110, 1112, 1616
как простым ногодрыгом, так и через SPI
есть документация - каталог в библиотеке doc/html/index.html
есть примеры (mega,xmega,stm32f100) - каталог в библиотеке examples/display
пользуйтесь - вот https://yadi.sk/d/maHqtLqA3Ksx3r
PS если есть пожелания или обнаружите ошибки - пишите
PPS и кстати может кто запустит вывод через 9бит USART на XMega
у меня не получилось, хотя вроде как делал все правильно
файл вывода - PCF8814.io.usart9.xmega.c
кстати недавно перелопатил свою библиотечку
там и вывод шрифта, и рисование (контекст дисплея)
2 типа экранов в ОЗУ (2х и 4х цветный), дисплеи nokia 1110, 1112, 1616
как простым ногодрыгом, так и через SPI
есть документация - каталог в библиотеке doc/html/index.html
есть примеры (mega,xmega,stm32f100) - каталог в библиотеке examples/display
пользуйтесь - вот https://yadi.sk/d/maHqtLqA3Ksx3r
PS если есть пожелания или обнаружите ошибки - пишите
PPS и кстати может кто запустит вывод через 9бит USART на XMega
у меня не получилось, хотя вроде как делал все правильно
файл вывода - PCF8814.io.usart9.xmega.c
-
pnp_machinist
- Открыл глаза
- Сообщения: 40
- Зарегистрирован: Вс окт 21, 2012 17:32:00
- Откуда: СССР
Re: База дисплеев мобильных устройств
Для облегчения работы с TFT. Появилась программа. Надеюсь будет полезна для читателей форума.
За бесплатным ключом пож. в личку.
За бесплатным ключом пож. в личку.
- Вложения
-
- fe.rar
- Архив программы
- (922.78 КБ) 1233 скачивания
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
[uquote="pnp_machinist",url="/forum/viewtopic.php?p=3149374#p3149374"]Для облегчения работы с TFT. Появилась программа.[/uquote]
Вы бы хоть написали, что она делает. 2-3 строчки.
Вы бы хоть написали, что она делает. 2-3 строчки.
-
pnp_machinist
- Открыл глаза
- Сообщения: 40
- Зарегистрирован: Вс окт 21, 2012 17:32:00
- Откуда: СССР
Re: База дисплеев мобильных устройств
Забыл сказать. Программа то - любой шрифт Windows преобразует в битовое изображение .
В соответствии с форматом, что задан. Таким образом получаем монохромный шрифт для LCD/
На выходе, как водится *.с файл. Ну и естественно можно подправить символ самому.
Остальное это мелочи..... Буквы в байты переводит, вот.
В соответствии с форматом, что задан. Таким образом получаем монохромный шрифт для LCD/
На выходе, как водится *.с файл. Ну и естественно можно подправить символ самому.
Остальное это мелочи..... Буквы в байты переводит, вот.
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
новая версия моего редактора растровых шрифтов - небольшие добавления/исправления
из серьезного - добавленн импорт произвольного символа - самое то, если нужно накидать символы из разных частей UNICODE
Основные возможности:
- данные хранятся в файле *.h
- импорт символов из системных шрифтов (Windows/Linux); любые наборы символов
- произвольный размер символов
- выбор формата заголовка (заголовок,таблица смещений,нет); и формата данных - моноширинный/нет; для немоноширинного для каждого символа задается его ширина
- задавать формат растровых данных: горизонтально/вертикально, LSB/MSB (bigendian/litleendian), направление обхода
- импорт символов из картинки (через карман)
- копирование/вставка в/из системного кармана; как в текстовом, так в графическом формате
- исполняемые файлы для Windows и Linux (требует для работы wxWidgets 2.8.12)
Linux версия во вложении
Windows версия https://yadi.sk/d/vHr0_Gv53M7yPZ
из серьезного - добавленн импорт произвольного символа - самое то, если нужно накидать символы из разных частей UNICODE
Основные возможности:
- данные хранятся в файле *.h
- импорт символов из системных шрифтов (Windows/Linux); любые наборы символов
- произвольный размер символов
- выбор формата заголовка (заголовок,таблица смещений,нет); и формата данных - моноширинный/нет; для немоноширинного для каждого символа задается его ширина
- задавать формат растровых данных: горизонтально/вертикально, LSB/MSB (bigendian/litleendian), направление обхода
- импорт символов из картинки (через карман)
- копирование/вставка в/из системного кармана; как в текстовом, так в графическом формате
- исполняемые файлы для Windows и Linux (требует для работы wxWidgets 2.8.12)
Linux версия во вложении
Windows версия https://yadi.sk/d/vHr0_Gv53M7yPZ
- Вложения
-
- font_ed_lin.tar.gz
- (198.9 КБ) 1204 скачивания
-
Chettuser
Re: База дисплеев мобильных устройств
По поводу шрифтов - подскажите, где можно достать аналоги семисегментных цифр для TFT дисплеев? Мне они как то больше нравятся, чем классические. Спасибо.
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
[uquote="Chettuser",url="/forum/viewtopic.php?p=3210746#p3210746"]По поводу шрифтов - подскажите, где можно достать аналоги семисегментных цифр для TFT дисплеев? Мне они как то больше нравятся, чем классические. Спасибо.[/uquote]
взять любой шрифт, стилизованный под семисегментный, установить в системе
и в любом редакторе шрифтов симпортировать
PS если шрифт большой - то стоит рисовать цифры линиями
взять любой шрифт, стилизованный под семисегментный, установить в системе
и в любом редакторе шрифтов симпортировать
PS если шрифт большой - то стоит рисовать цифры линиями
-
mrFox
- Нашел транзистор. Понюхал.
- Сообщения: 190
- Зарегистрирован: Пт сен 21, 2007 17:53:23
- Откуда: Зарайск
Re: База дисплеев мобильных устройств
наткнулся недавно на сайт с неплохим набором растровых шрифтов
есть и стилизированные под 7сегментов и растровый шрифт
руского набора правда нет
http://www.rinkydinkelectronics.com/r_fonts.php
есть и стилизированные под 7сегментов и растровый шрифт
руского набора правда нет
http://www.rinkydinkelectronics.com/r_fonts.php
- maxlab
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт апр 23, 2013 22:21:18
- Откуда: KUBAN, Krasnodar
Re: База дисплеев мобильных устройств
Всем привет! И с наступившим новым годом!
Купил на Али дисплейчик 1,44 SPI 128Х128 ST7735 V1.1 на красной плате. Надергал из инета и адаптировал коды инициализации и вывода текста к STM8S. Все вроде работает. Но в координаты 0,0 не попадаю. Такое впечатление что LCD матрица сдвинута относительно графической памяти. Оффсеты по Х и У я вычислил экспериментально (визуально) для режима по умолчанию. Но если менять ориентацию, можно задолбаться. Кто нить на такие грабли натыкался? Давно не ковырял дисплеи, может что ни так делаю...
Купил на Али дисплейчик 1,44 SPI 128Х128 ST7735 V1.1 на красной плате. Надергал из инета и адаптировал коды инициализации и вывода текста к STM8S. Все вроде работает. Но в координаты 0,0 не попадаю. Такое впечатление что LCD матрица сдвинута относительно графической памяти. Оффсеты по Х и У я вычислил экспериментально (визуально) для режима по умолчанию. Но если менять ориентацию, можно задолбаться. Кто нить на такие грабли натыкался? Давно не ковырял дисплеи, может что ни так делаю...
Спойлер
Код: Выделить всё
/**
******************************************************************************
* @file Project/main.c
* @author MCD Application Team
* @version V2.1.0
* @date 18-November-2011
* @brief Main program body
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/* Includes ----------*/
#include "stm8s.h"
#include "string.h"
/* Private defines ----------*/
static unsigned char const Font5x7[] = {
0x00, 0x00, 0x00, 0x00, 0x00, // (space)
0x00, 0x00, 0x5F, 0x00, 0x00, // !
0x00, 0x07, 0x00, 0x07, 0x00, // "
0x14, 0x7F, 0x14, 0x7F, 0x14, // #
0x24, 0x2A, 0x7F, 0x2A, 0x12, // $
0x23, 0x13, 0x08, 0x64, 0x62, // %
0x36, 0x49, 0x55, 0x22, 0x50, // &
0x00, 0x05, 0x03, 0x00, 0x00, // '
0x00, 0x1C, 0x22, 0x41, 0x00, // (
0x00, 0x41, 0x22, 0x1C, 0x00, // )
0x08, 0x2A, 0x1C, 0x2A, 0x08, // *
0x08, 0x08, 0x3E, 0x08, 0x08, // +
0x00, 0x50, 0x30, 0x00, 0x00, // ,
0x08, 0x08, 0x08, 0x08, 0x08, // -
0x00, 0x60, 0x60, 0x00, 0x00, // .
0x20, 0x10, 0x08, 0x04, 0x02, // /
0x3E, 0x51, 0x49, 0x45, 0x3E, // 0
0x00, 0x42, 0x7F, 0x40, 0x00, // 1
0x42, 0x61, 0x51, 0x49, 0x46, // 2
0x21, 0x41, 0x45, 0x4B, 0x31, // 3
0x18, 0x14, 0x12, 0x7F, 0x10, // 4
0x27, 0x45, 0x45, 0x45, 0x39, // 5
0x3C, 0x4A, 0x49, 0x49, 0x30, // 6
0x01, 0x71, 0x09, 0x05, 0x03, // 7
0x36, 0x49, 0x49, 0x49, 0x36, // 8
0x06, 0x49, 0x49, 0x29, 0x1E, // 9
0x00, 0x36, 0x36, 0x00, 0x00, // :
0x00, 0x56, 0x36, 0x00, 0x00, // ;
0x00, 0x08, 0x14, 0x22, 0x41, // <
0x14, 0x14, 0x14, 0x14, 0x14, // =
0x41, 0x22, 0x14, 0x08, 0x00, // >
0x02, 0x01, 0x51, 0x09, 0x06, // ?
0x32, 0x49, 0x79, 0x41, 0x3E, // @
0x7E, 0x11, 0x11, 0x11, 0x7E, // A
0x7F, 0x49, 0x49, 0x49, 0x36, // B
0x3E, 0x41, 0x41, 0x41, 0x22, // C
0x7F, 0x41, 0x41, 0x22, 0x1C, // D
0x7F, 0x49, 0x49, 0x49, 0x41, // E
0x7F, 0x09, 0x09, 0x01, 0x01, // F
0x3E, 0x41, 0x41, 0x51, 0x32, // G
0x7F, 0x08, 0x08, 0x08, 0x7F, // H
0x00, 0x41, 0x7F, 0x41, 0x00, // I
0x20, 0x40, 0x41, 0x3F, 0x01, // J
0x7F, 0x08, 0x14, 0x22, 0x41, // K
0x7F, 0x40, 0x40, 0x40, 0x40, // L
0x7F, 0x02, 0x04, 0x02, 0x7F, // M
0x7F, 0x04, 0x08, 0x10, 0x7F, // N
0x3E, 0x41, 0x41, 0x41, 0x3E, // O
0x7F, 0x09, 0x09, 0x09, 0x06, // P
0x3E, 0x41, 0x51, 0x21, 0x5E, // Q
0x7F, 0x09, 0x19, 0x29, 0x46, // R
0x46, 0x49, 0x49, 0x49, 0x31, // S
0x01, 0x01, 0x7F, 0x01, 0x01, // T
0x3F, 0x40, 0x40, 0x40, 0x3F, // U
0x1F, 0x20, 0x40, 0x20, 0x1F, // V
0x7F, 0x20, 0x18, 0x20, 0x7F, // W
0x63, 0x14, 0x08, 0x14, 0x63, // X
0x03, 0x04, 0x78, 0x04, 0x03, // Y
0x61, 0x51, 0x49, 0x45, 0x43, // Z
0x00, 0x00, 0x7F, 0x41, 0x41, // [
0x02, 0x04, 0x08, 0x10, 0x20, // "\"
0x41, 0x41, 0x7F, 0x00, 0x00, // ]
0x04, 0x02, 0x01, 0x02, 0x04, // ^
0x40, 0x40, 0x40, 0x40, 0x40, // _
0x00, 0x01, 0x02, 0x04, 0x00, // `
0x20, 0x54, 0x54, 0x54, 0x78, // a
0x7F, 0x48, 0x44, 0x44, 0x38, // b
0x38, 0x44, 0x44, 0x44, 0x20, // c
0x38, 0x44, 0x44, 0x48, 0x7F, // d
0x38, 0x54, 0x54, 0x54, 0x18, // e
0x08, 0x7E, 0x09, 0x01, 0x02, // f
0x08, 0x14, 0x54, 0x54, 0x3C, // g
0x7F, 0x08, 0x04, 0x04, 0x78, // h
0x00, 0x44, 0x7D, 0x40, 0x00, // i
0x20, 0x40, 0x44, 0x3D, 0x00, // j
0x00, 0x7F, 0x10, 0x28, 0x44, // k
0x00, 0x41, 0x7F, 0x40, 0x00, // l
0x7C, 0x04, 0x18, 0x04, 0x78, // m
0x7C, 0x08, 0x04, 0x04, 0x78, // n
0x38, 0x44, 0x44, 0x44, 0x38, // o
0x7C, 0x14, 0x14, 0x14, 0x08, // p
0x08, 0x14, 0x14, 0x18, 0x7C, // q
0x7C, 0x08, 0x04, 0x04, 0x08, // r
0x48, 0x54, 0x54, 0x54, 0x20, // s
0x04, 0x3F, 0x44, 0x40, 0x20, // t
0x3C, 0x40, 0x40, 0x20, 0x7C, // u
0x1C, 0x20, 0x40, 0x20, 0x1C, // v
0x3C, 0x40, 0x30, 0x40, 0x3C, // w
0x44, 0x28, 0x10, 0x28, 0x44, // x
0x0C, 0x50, 0x50, 0x50, 0x3C, // y
0x44, 0x64, 0x54, 0x4C, 0x44, // z
0x00, 0x08, 0x36, 0x41, 0x00, // {
0x00, 0x00, 0x7F, 0x00, 0x00, // |
0x00, 0x41, 0x36, 0x08, 0x00, // }
0x08, 0x08, 0x2A, 0x1C, 0x08, // ->
0x08, 0x1C, 0x2A, 0x08, 0x08 // <-
};
typedef enum {
scr_normal = 0,
scr_CW = 1,
scr_CCW = 2,
scr_180 = 3
} ScrOrientation_TypeDef;
#define HWRST_SET GPIO_WriteHigh(GPIOC, GPIO_PIN_3);
#define HWRST_RESET GPIO_WriteLow(GPIOC, GPIO_PIN_3);
#define ST7735_COMMAND GPIO_WriteLow(GPIOC, GPIO_PIN_4);
#define ST7735_DATA GPIO_WriteHigh(GPIOC, GPIO_PIN_4);
#define ST7735_SELECT GPIO_WriteLow(GPIOC, GPIO_PIN_2);
#define ST7735_UNSELECT GPIO_WriteHigh(GPIOC, GPIO_PIN_2);
const uint16_t scr_width = 132;
const uint16_t scr_height = 132;
const uint16_t OffSetX = 2;
const uint16_t OffSetY = 1;
/* Private function prototypes ----------*/
/* Private functions ----------*/
void ST7735_write(uint8_t data) {
while (SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);
SPI_SendData(data);
}
void ST7735_cmd(uint8_t cmd) {
ST7735_COMMAND;
ST7735_write(cmd);
while (SPI_GetFlagStatus(SPI_FLAG_BSY) == SET);
}
void ST7735_data(uint8_t data) {
ST7735_DATA;
ST7735_write(data);
while (SPI_GetFlagStatus(SPI_FLAG_BSY) == SET);
}
void ST7735_AddrSet(uint16_t XS,uint16_t YS,uint16_t XE,uint16_t YE) {
ST7735_cmd(0x2a); // Column address set
ST7735_DATA;
ST7735_write(XS >> 8);
ST7735_write(XS);
ST7735_write(XE >> 8);
ST7735_write(XE);
ST7735_cmd(0x2b); // Row address set
ST7735_DATA;
ST7735_write(YS >> 8);
ST7735_write(YS);
ST7735_write(YE >> 8);
ST7735_write(YE);
ST7735_cmd(0x2c); // Memory write
}
void ST7735_Clear(uint16_t color) {
uint16_t i;
uint8_t CH,CL;
CH = color >> 8;
CL = (uint8_t)color;
ST7735_SELECT;
ST7735_AddrSet(0,0,(scr_width - 1),(scr_height - 1));
ST7735_DATA;
for (i = 0; i < (scr_width * scr_height); i++) {
ST7735_write(CH);
ST7735_write(CL);
}
ST7735_UNSELECT;
}
uint16_t RGB565(uint8_t R,uint8_t G,uint8_t B) {
return ((R >> 3) << 11) | ((G >> 2) << 5) | (B >> 3);
}
void ST7735_PutChar5x7(uint16_t X, uint16_t Y, uint8_t chr, uint16_t color) {
uint16_t i,j;
uint8_t buffer[5];
uint8_t CH = color >> 8;
uint8_t CL = (uint8_t)color;
memcpy(buffer,&Font5x7[(chr - 32) * 5],5);
ST7735_SELECT;
ST7735_AddrSet(X,Y,X + 4,Y + 6);
ST7735_DATA;
for (j = 0; j < 7; j++) {
for (i = 0; i < 5; i++) {
if ((buffer[i] >> j) & 0x01) {
ST7735_write(CH);
ST7735_write(CL);
} else {
ST7735_write(0x00);
ST7735_write(0x00);
}
}
}
ST7735_UNSELECT;
}
void ST7735_PutStr5x7(uint8_t X, uint8_t Y, char *str, uint16_t color) {
X=X+OffSetX;
Y=Y+OffSetY;
while (*str) {
ST7735_PutChar5x7(X,Y,*str++,color);
if (X < scr_width - 6) { X += 6; } else if (Y < scr_height - 8) { X = 0; Y += 8; } else { X = 0; Y = 0; }
};
}
void ST7735_HWRST(){
HWRST_RESET;
HWRST_SET;
}
void ST7735_SWRST(){
ST7735_cmd(0x1);
ST7735_data(0x01);
}
void main(void)
{
CLK_DeInit();
//CLK_HSECmd(DISABLE);
//CLK_LSICmd(DISABLE);
CLK_HSICmd(ENABLE);
while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY) == RESET);
CLK_ClockSwitchCmd(ENABLE);
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE, CLK_CURRENTCLOCKSTATE_ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
GPIO_DeInit(GPIOC);
GPIO_Init(GPIOC,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(GPIOC,GPIO_PIN_4,GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(GPIOC,GPIO_PIN_2,GPIO_MODE_OUT_PP_HIGH_FAST);
SPI_DeInit();
SPI_Init(SPI_FIRSTBIT_MSB,SPI_BAUDRATEPRESCALER_2,SPI_MODE_MASTER,SPI_CLOCKPOLARITY_HIGH,SPI_CLOCKPHASE_1EDGE,SPI_DATADIRECTION_2LINES_FULLDUPLEX ,SPI_NSS_SOFT,7);
SPI_Cmd(ENABLE);
ST7735_HWRST();
ST7735_SWRST();
ST7735_SELECT;
ST7735_cmd(0x11); // Sleep out & booster on
//Delay_ms(20); // Datasheet says what display wakes about 120ms (may be much faster actually)
//ST7735_cmd(0xb1); // In normal mode (full colors):
//ST7735_DATA;
//ST7735_write(0x05); // RTNA set 1-line period: RTNA2, RTNA0
//ST7735_write(0x3c); // Front porch: FPA5,FPA4,FPA3,FPA2
//ST7735_write(0x3c); // Back porch: BPA5,BPA4,BPA3,BPA2
//ST7735_cmd(0xb2); // In idle mode (8-colors):
//ST7735_DATA;
//ST7735_write(0x05); // RTNB set 1-line period: RTNAB, RTNB0
//ST7735_write(0x3c); // Front porch: FPB5,FPB4,FPB3,FPB2
//ST7735_write(0x3c); // Back porch: BPB5,BPB4,BPB3,BPB2
//ST7735_cmd(0xb3); // In partial mode + full colors:
//ST7735_DATA;
//ST7735_write(0x05); // RTNC set 1-line period: RTNC2, RTNC0
//ST7735_write(0x3c); // Front porch: FPC5,FPC4,FPC3,FPC2
//ST7735_write(0x3c); // Back porch: BPC5,BPC4,BPC3,BPC2
//ST7735_write(0x05); // RTND set 1-line period: RTND2, RTND0
//ST7735_write(0x3c); // Front porch: FPD5,FPD4,FPD3,FPD2
//ST7735_write(0x3c); // Back porch: BPD5,BPD4,BPD3,BPD2
ST7735_cmd(0xB4); // Display dot inversion control:
ST7735_data(0x03); // NLB,NLC
ST7735_cmd(0x3a); // Interface pixel format
// ST7735_data(0x03); // 12-bit/pixel RGB 4-4-4 (4k colors)
ST7735_data(0x05); // 16-bit/pixel RGB 5-6-5 (65k colors)
// ST7735_data(0x06); // 18-bit/pixel RGB 6-6-6 (256k colors)
ST7735_cmd(0x36); // Memory data access control:
// MY MX MV ML RGB MH - -
ST7735_data(0x08);
// ST7735_data(0x00); // Normal: Top to Bottom; Left to Right; RGB
// ST7735_data(0x80); // Y-Mirror: Bottom to top; Left to Right; RGB
// ST7735_data(0x40); // X-Mirror: Top to Bottom; Right to Left; RGB
// ST7735_data(0xc0); // X-Mirror,Y-Mirror: Bottom to top; Right to left; RGB
// ST7735_data(0x20); // X-Y Exchange: X and Y changed positions
// ST7735_data(0xA0); // X-Y Exchange,Y-Mirror
// ST7735_data(0x60); // X-Y Exchange,X-Mirror
// ST7735_data(0xE0); // X-Y Exchange,X-Mirror,Y-Mirror
// ST7735_cmd(0x20); // Display inversion off
// ST7735_cmd(0x21); // Display inversion on
// ST7735_cmd(0x13); // Partial mode off
// ST7735_cmd(0x26); // Gamma curve set:
// ST7735_data(0x01); // Gamma curve 1 (G2.2) or (G1.0)
// ST7735_data(0x02); // Gamma curve 2 (G1.8) or (G2.5)
// ST7735_data(0x04); // Gamma curve 3 (G2.5) or (G2.2)
// ST7735_data(0x08); // Gamma curve 4 (G1.0) or (G1.8)
ST7735_cmd(0x29); // Display on
ST7735_Clear(0x0000);
ST7735_PutStr5x7(0,0,"Hello fucking screen!",RGB565(255,0,0));
ST7735_PutStr5x7(0,10,"This is 5x7 font",RGB565(0,255,0));
ST7735_PutStr5x7(0,20,"Screen 128x160 pixels",RGB565(0,0,255));
ST7735_UNSELECT;
//}
/* Infinite loop */
while (1)
{
}
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval : None
*/
void assert_failed(u8* file, u32 line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
Девице - Device
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: База дисплеев мобильных устройств
- daaar
- Держит паяльник хвостом
- Сообщения: 920
- Зарегистрирован: Пн июн 13, 2016 19:37:24
- Откуда: Perm
- Контактная информация:
Re: База дисплеев мобильных устройств
Есть дисплейчик, по размерам кристалла определил, что это что-то из этого списка:
ILI9481 22,8 x 1,0
R61581 22,8x0,8 <- скорее всего этот, потому что кристалл меньше 1мм
RM68040 22,8x 1,0
Но возник другой вопрос где взять распиновку?
ILI9481 22,8 x 1,0
R61581 22,8x0,8 <- скорее всего этот, потому что кристалл меньше 1мм
RM68040 22,8x 1,0
Но возник другой вопрос где взять распиновку?
- Michael_Sch
- Открыл глаза
- Сообщения: 71
- Зарегистрирован: Пт июл 12, 2013 13:53:52
- Откуда: Санкт-Петербург
Re: База дисплеев мобильных устройств
2 daaar:
Обычно в даташите на контроллер есть все пады. А на шлейфе кондеры, резисторы и перемычки обвязки. И в принципе, видно, что куда идет. Пустые пады пропускаем, остальные сравниваем с тем, что на шлейфе, отмечая количество и порядок следования элементов и выводов.
А неужели же ни на стекле, ни на шлейфе нет буковок-цифирок?
Обычно в даташите на контроллер есть все пады. А на шлейфе кондеры, резисторы и перемычки обвязки. И в принципе, видно, что куда идет. Пустые пады пропускаем, остальные сравниваем с тем, что на шлейфе, отмечая количество и порядок следования элементов и выводов.
А неужели же ни на стекле, ни на шлейфе нет буковок-цифирок?
Зачем, зубодер распроклятый, мучительный тянешь момент?
Тебе, стоматолог, сто матов измученный шлет пациент! (с) Вадим Шефнер
Тебе, стоматолог, сто матов измученный шлет пациент! (с) Вадим Шефнер
Re: База дисплеев мобильных устройств
Купил в китае дисплей Nokia-5110 на плате хочу проверить работоспособность в программирование не силён помогите с прошивкой для микропроцессора ATmega 8.
Бобрик
Re: База дисплеев мобильных устройств
Всем привет. Купил пару лет назад на алях дисплей 3,2", 240х400, 39 pin, вроде бы на ili9327. Купил и положил в стол, не до него было. Сейчас к вопросу вернулся, смотрю, а дисплей китаец прислал не тот, что продавал. В итоге распиновка не совпадает. Может кто сталкивался с такими, или есть алгоритм определить пины? Фото моего шлейфа во вложении. Известно, что первые 4 пина это отсутствующий тач, 5- GND, 34-38 катоды подсветки, 39-анод. На вложенной картинке нумерация начинается не с первого пина, а с технологической земляной площадки. То есть при подсчете пинов нанесенные нумерки надо смещать на 1 вправо.

Re: База дисплеев мобильных устройств
Добрый всем день. Есть такой экранчик а вот о нём ни чего не известно. Если кто знает о нём что то, распиновку, контролер...вообще всё что известно, подскажите пожалуйста.
Добавлено after 1 minute 27 seconds:
И вот оборотная сторона...
Добавлено after 1 minute 27 seconds:
И вот оборотная сторона...
- Вложения
-
- ramdisk-crop_184598237_LZFkbMz.jpg
- (29.93 КБ) 1325 скачиваний
-
- ramdisk-crop_184598162_UqtYFu.jpg
- (32.23 КБ) 1293 скачивания
Re: База дисплеев мобильных устройств
Доброго времени , нужна кириллица 16*16 подскажите какой программой этот шрифт нарисовать ? LCD NOKIA1616.
