С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 37

ATMEGA2560 + LCD 3.95 ILI 9488

16.01.2016, 21:09. Показов 3894. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PDF LCD 480x320 ILI9488

Суть проблемы.

Заливка дисплея работает. С использованием внутренних счетчиков строк и столбцов.
Заливка цветом
Code
1
2
3
4
5
6
7
8
void UTFT_fillScr(uint color)
{
LCD_CS_L;
UTFT_setXY(0, 0, DISP_X_SIZE, DISP_Y_SIZE); // Установка координат
LCD_Write_DATA(color); // Выставляю на шину цвет
UTFT_FAST_FILL_16(153600); // Много импульсов строба(в дисплее авто инкремент)
LCD_CS_H;
}
Далее после того как увидел кривой шрифт начинаю эксперементировать
пишу код
Заливка блоками по 8х8, работает
Code
1
2
3
4
5
6
7
8
void UTFT_fill8(uint color, uint X, uint Y)
{
LCD_CS_L;
UTFT_setXY(0+Y, 0+X, Y+7, X+7);
LCD_Write_DATA(color);
UTFT_FAST_FILL_16(64);
LCD_CS_H;
}
Заливка блоками по 4х4, НЕ работает
Code
1
2
3
4
5
6
7
8
void UTFT_fill8(uint color, uint X, uint Y)
{
LCD_CS_L;
UTFT_setXY(0+Y, 0+X, Y+3, X+3);
LCD_Write_DATA(color);
UTFT_FAST_FILL_16(16);
LCD_CS_H;
}
функции соответственно вызываю в цыклах

Вызов
Code
1
2
3
4
5
6
7
8
9
10
for (uint x=0; x < 40; x++){
for (uint y=0; y < 60; y++){
UTFT_fill8(VGA_WHITE, 8*y, 8*x); // заливка клетками 8х8
}
}
for (uint x=0; x < 80; x++){
for (uint y=0; y < 120; y++){
UTFT_fill8(VGA_WHITE, 4*y, 4*x); // заливка клетками 4х4
}
}
UTFT_setXY
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
void UTFT_setXY(uint X1, uint Y1, uint X2, uint Y2){
LCD_Write_COM(0x2a);
LCD_Write_DATA((X1>>8)& 0xFF);
LCD_Write_DATA(X1 & 0xFF);
LCD_Write_DATA((X2>>8)& 0xFF);
LCD_Write_DATA(X2 & 0xFF);
LCD_Write_COM(0x2b);
LCD_Write_DATA((Y1>>8)& 0xFF);
LCD_Write_DATA(Y1 & 0xFF);
LCD_Write_DATA((Y2>>8)& 0xFF);
LCD_Write_DATA(Y2 & 0xFF);
LCD_Write_COM(0x2c);
}
функция рисования пикселя выглядит так
UTFT_drawPyxitКод:void UTFT_drawPyxit(uint X, uint Y, uint Color)
{
LCD_CS_L;
UTFT_setXY(X, Y, X+1, Y);
LCD_Write_DATA(Color);
//_delay_ms(5);
LCD_CS_H;
}

Соответственно все функции рисования линий, кругов, шрифтов, работают с UTFT_drawPyxit

написал тестовую функцию которая заливает дисплей через UTFT_drawPyxit

Заливка через UTFT_drawPyxitКод:for (uint x=0; x < 319; x++){
for (uint y=0; y < 479; y++){
UTFT_drawPyxit(x, y, VGA_GREEN); // заливка пикселями 1х1
}
}

Соответственно не работает, чтобы было понятней смотрите видео(ужасного качества на мобилу), но во 2рой половине есть хороший фокус. Видео на ютубе

В обще выше указанный код работает отлично на дисплее HX8357С
Здесь код отличается только инициализацией.
Код:void LCD_Init_ILI9488(void){
LCD_RST_H;
_delay_ms(150);
LCD_RST_L;
_delay_ms(150);
LCD_RST_H;
_delay_ms(150);
LCD_CS_L;

LCD_Write_COM(0x11); // Sleep OUT
_delay_ms(100);

//LCD_Write_COM(0x01); //risit
//_delay_ms(15);

//LCD_Write_COM(0x28); //dysplay off
//_delay_ms(5);

LCD_Write_COM(0x36); // Memory Access Control
//LCD_Write_DATA(0x00); // Выключить все повороты
LCD_Write_DATA((1<<3)|(1<<6));
//LCD_Write_DATA((1<<3)|(1<<7)); //rotate 180

LCD_Write_COM(0x38); // Idle Mode OFF

LCD_Write_COM(0x3A); //
LCD_Write_DATA(0x55); // Interfosi Pyxit Format, DPI 000, DBI 0101(16 BIT)

LCD_Write_COM(0xC0); // Power Control 1
LCD_Write_DATA(0x0d); // 1.25 x 3.50 = 4.3750
LCD_Write_DATA(0x0d);

LCD_Write_COM(0xC1); // Power Control 2
LCD_Write_DATA(0x44);

LCD_Write_COM(0xC2); // Power Control 3
LCD_Write_DATA(0x33);
_delay_ms(50);

LCD_Write_COM(0xC5); // VCOM Control
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x40);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x40);

LCD_Write_COM(0xB6); // Dysplay Function Control
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x02); // 0x42 = Rotate dysplay 180 deg.
LCD_Write_DATA(0x3B);
_delay_ms(50);

LCD_Write_COM(0x2A); // Column Addess Set
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0xDF);

LCD_Write_COM(0x002B); // Page Address Set
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x3f);
_delay_ms(50);

LCD_Write_COM(0x002C); // Memory Write
_delay_ms(50);

LCD_Write_COM(0xB1);
LCD_Write_DATA(0b11010000); // Разгоняем контрол
LCD_Write_DATA(0b00011111); //

LCD_Write_COM(0x0029); // Dysplay ON

LCD_Write_COM(0x51); // Write Dysplay Brightness value
LCD_Write_DATA(0x10);
LCD_CS_H;
}

Ссылка на дисплей ILI9488, приобретал по этой же ссылке. Фото соответствует. Красных плат с дисплеями бывает много, отличаются визуально незначительно, а программно существенно
На свой не нашел даже схему. Подключил как 16бит.
Дисплей подымал, отмывал плату, хорошо пропаял. На 1117 повесил тантал и керамику, питание в норме без пульсаций.
У меня еще есть такой без тача контролер HX8357С
Для обоих написан один драйвер с разной инициализацией. HX8357С работает отлично)

Вопрос прозвучит банально, где искать проблему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2016, 21:09
Ответы с готовыми решениями:

LCD TFT 128*160 и его подключение к AVR ATmega2560
Выковырял из плеера дисплейчик 128*160, теперь думаю как его прикрутить к плате с AVR ATmiko2560. Пожалуйста, кто понимает в схемах,...

STM8L + Active halt + LCD IRQ = Зависание LCD-контроллера
Доброго всем времени суток. Поделитесь опытом, кто и как совмещает режим active halt и обновление информации на LCD дисплее. Пишу...

STM32F4Discovery + LCD через fsmc для индентификации мк LCD
Нужна помощь, может кто поделиться готовым проектом,чтобы на STM32F4-Dyscovery используя параллельную шину FSMC можно было быстро...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2016, 21:09
Помогаю со студенческими работами здесь

3g ili 4g wifi router
zdrastvuyte takoy vapros mojnoli potklyuchit 4g usb modem k wifi routeru tplink TD-W8968 (zarane pereproshiv na TP-Link 840 840...

Excel eto Database ili net?
Nado napisat' progu shoguu funcsiami s Excelem. Skolko eto budet stoit' i skol'lo zaimet vremeni? p.s. Sorri chto pishu lat. ruskih...

чтение значений true ili false
есть xmL файл &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;TegFalse&gt; &lt;pictureBox2&gt;false&lt;/pictureBox2&gt; &lt;/TegFalse&gt; на главной...

Macros ili DLL dlya MS Word
Описание: Trebuetsya makros/programmka/dll ili 4to ugodno dlya udaleniya(imenno UDALENIYA, a ne DOBAVLENIYA) slov v GLAVNOM (a ne...

Kak raspoznat stoit li na C: ili D: format NTFS ???
Kak raspoznat stoit li na C: ili D: format NTFS ???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru