Например TDA7294

Форум РадиоКот • Просмотр темы - stm32 + ili9341 выдает не правильные цвета
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт июн 17, 2025 22:47:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Ср окт 12, 2016 10:41:18 
Встал на лапы

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт ноя 27, 2009 18:24:25
Сообщений: 147
Откуда: Харьков
Рейтинг сообщения: 0
Добрый день товарищи :beer: , столкнулся с такой проблемой:
дисплей на контроллере ili9341 правильно показывает только синий и черный цвета, а все остальные оттенки синего :cry: уже 2 дня борюсь сил нет, может кто посмотрит проект и поможет, буду премного благодарен.
З.Ы. среда кеил


Вложения:
SRC+INC.rar [14.83 KiB]
Скачиваний: 235
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Ср ноя 02, 2016 15:41:55 
Сверлит текстолит когтями
Аватар пользователя

Карма: 5
Рейтинг сообщений: 19
Зарегистрирован: Вт фев 01, 2011 17:56:40
Сообщений: 1273
Откуда: г. Жуковка, Брянская обл.
Рейтинг сообщения: 0
Что-то у вас инициализация ili9341 подозрительная, двойная какая-то, исправьте на нормальную.

_________________
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Чт ноя 23, 2017 08:26:36 
Родился

Зарегистрирован: Чт ноя 23, 2017 08:09:57
Сообщений: 2
Рейтинг сообщения: 0
Добрый день.
У Вас решилась эта задача ?
У меня аналогичная ситуация. Буду благодарен за ответ любого рода. Мой mail: apn@sinn.ru
Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Пт ноя 24, 2017 14:09:49 
Родился

Зарегистрирован: Ср ноя 22, 2017 11:34:47
Сообщений: 6
Рейтинг сообщения: 0
Ну судя по тому, что после совета исправить инициализацию вопросов больше не было, может тоже в этом дело?
Попробуйте так, у меня работает:
Спойлер#define ILI9341_RESET 0x01
#define ILI9341_SLEEP_OUT 0x11
#define ILI9341_GAMMA 0x26
#define ILI9341_DISPLAY_OFF 0x28
#define ILI9341_DISPLAY_ON 0x29
#define ILI9341_COLUMN_ADDR 0x2A
#define ILI9341_PAGE_ADDR 0x2B
#define ILI9341_GRAM 0x2C
#define ILI9341_MAC 0x36
#define ILI9341_PIXEL_FORMAT 0x3A
#define ILI9341_WDB 0x51
#define ILI9341_WCD 0x53
#define ILI9341_RGB_INTERFACE 0xB0
#define ILI9341_FRC 0xB1
#define ILI9341_BPC 0xB5
#define ILI9341_DFC 0xB6
#define ILI9341_POWER1 0xC0
#define ILI9341_POWER2 0xC1
#define ILI9341_VCOM1 0xC5
#define ILI9341_VCOM2 0xC7
#define ILI9341_POWERA 0xCB
#define ILI9341_POWERB 0xCF
#define ILI9341_PGAMMA 0xE0
#define ILI9341_NGAMMA 0xE1
#define ILI9341_DTCA 0xE8
#define ILI9341_DTCB 0xEA
#define ILI9341_POWER_SEQ 0xED
#define ILI9341_3GAMMA_EN 0xF2
#define ILI9341_INTERFACE 0xF6
#define ILI9341_PRC 0xF7



LCD_CS_set(0);

LCD_RST_set(1);
LCD_SendCommand(ILI9341_RESET);
Delay(100);


LCD_SendCommand(ILI9341_RESET);
Delay(100);

/// commands here
LCD_SendCommand(ILI9341_POWERA);
LCD_SendData(0x39);
LCD_SendData(0x2C);
LCD_SendData(0x00);
LCD_SendData(0x34);
LCD_SendData(0x02);
LCD_SendCommand(ILI9341_POWERB);
LCD_SendData(0x00);
LCD_SendData(0xC1);
LCD_SendData(0x30);
LCD_SendCommand(ILI9341_DTCA);
LCD_SendData(0x85);
LCD_SendData(0x00);
LCD_SendData(0x78);
LCD_SendCommand(ILI9341_DTCB);
LCD_SendData(0x00);
LCD_SendData(0x00);
LCD_SendCommand(ILI9341_POWER_SEQ);
LCD_SendData(0x64);
LCD_SendData(0x03);
LCD_SendData(0x12);
LCD_SendData(0x81);
LCD_SendCommand(ILI9341_PRC);
LCD_SendData(0x20);
LCD_SendCommand(ILI9341_POWER1);
LCD_SendData(0x23);
LCD_SendCommand(ILI9341_POWER2);
LCD_SendData(0x10);
LCD_SendCommand(ILI9341_VCOM1);
LCD_SendData(0x3E);
LCD_SendData(0x28);
LCD_SendCommand(ILI9341_VCOM2);
LCD_SendData(0x86);
LCD_SendCommand(ILI9341_MAC);
LCD_SendData(0x48);
LCD_SendCommand(ILI9341_PIXEL_FORMAT);
LCD_SendData(0x55);
LCD_SendCommand(ILI9341_FRC);
LCD_SendData(0x00);
LCD_SendData(0x18);
LCD_SendCommand(ILI9341_DFC);
LCD_SendData(0x08);
LCD_SendData(0x82);
LCD_SendData(0x27);
LCD_SendCommand(ILI9341_3GAMMA_EN);
LCD_SendData(0x00);
LCD_SendCommand(ILI9341_COLUMN_ADDR);
LCD_SendData(0x00);
LCD_SendData(0x00);
LCD_SendData(0x00);
LCD_SendData(0xEF);
LCD_SendCommand(ILI9341_PAGE_ADDR);
LCD_SendData(0x00);
LCD_SendData(0x00);
LCD_SendData(0x01);
LCD_SendData(0x3F);
LCD_SendCommand(ILI9341_GAMMA);
LCD_SendData(0x01);
LCD_SendCommand(ILI9341_PGAMMA);
LCD_SendData(0x0F);
LCD_SendData(0x31);
LCD_SendData(0x2B);
LCD_SendData(0x0C);
LCD_SendData(0x0E);
LCD_SendData(0x08);
LCD_SendData(0x4E);
LCD_SendData(0xF1);
LCD_SendData(0x37);
LCD_SendData(0x07);
LCD_SendData(0x10);
LCD_SendData(0x03);
LCD_SendData(0x0E);
LCD_SendData(0x09);
LCD_SendData(0x00);
LCD_SendCommand(ILI9341_NGAMMA);
LCD_SendData(0x00);
LCD_SendData(0x0E);
LCD_SendData(0x14);
LCD_SendData(0x03);
LCD_SendData(0x11);
LCD_SendData(0x07);
LCD_SendData(0x31);
LCD_SendData(0xC1);
LCD_SendData(0x48);
LCD_SendData(0x08);
LCD_SendData(0x0F);
LCD_SendData(0x0C);
LCD_SendData(0x31);
LCD_SendData(0x36);
LCD_SendData(0x0F);
LCD_SendCommand(ILI9341_SLEEP_OUT);
Delay(100);
LCD_SendCommand(ILI9341_DISPLAY_ON);
LCD_SendCommand(ILI9341_GRAM);


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Пн ноя 27, 2017 08:46:43 
Родился

Зарегистрирован: Чт ноя 23, 2017 08:09:57
Сообщений: 2
Рейтинг сообщения: 0
Спасибо, я уже разобрался. Проблема была в том, что я использовал 8bit протокол. а TFT был выставлен для 16bit (это IM).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Чт май 01, 2025 15:22:29 
Родился

Зарегистрирован: Чт май 01, 2025 15:01:30
Сообщений: 2
Рейтинг сообщения: 0
Я проблему решил следующим образом - переписал инициализацию цветов в файле библиотеки ILI9341. Шестнадцатиричное значение с помощью калькулятора Windows преобразовал в двоичное число, полученное число нужно переписать зеркально, т.е. читать не слева направо а справо налево. Получившееся число с помощью онлайн калькулятора преобразуем снова в шестнадцатиричное число. Полученным результатом заменил имевшееся значение. Те значения, которые симметричны остаются без изменений - это белый, чёрный, зелёный, розовый, пурпурный. Получилось такое:
было стало

#define ILI9341_BLACK 0x0000 /* 0, 0, 0 * 0000 0000 0000 0000 BLACK (чёрный) */
#define ILI9341_NAVY 0xF000 /* 0, 0, 128 * 0000 0000 0000 1111 0x000F F000 */
#define ILI9341_DARKGREEN 0x07C0 /* 0, 128, 0 * 0000 0011 1110 0000 0x03E0 07C0 */
#define ILI9341_DARKCYAN 0xF7C0 /* 0, 128, 128 * 0000 0011 1110 1111 0x03EF F7C0*/
#define ILI9341_MAROON 0x001E /* 128, 0, 0 * 0111 1000 0000 0000 0x7800 001E */
#define ILI9341_PURPLE 0xF01E /* 128, 0, 128 * 0111 1000 0000 1111 0x780F F01E*/
#define ILI9341_OLIVE 0x87DE /* 128, 128, 0 * 0111 1011 1110 0001 0x7BE0 87DE*/
#define ILI9341_LIGHTGREY 0x1863 /* 192, 192, 192 * 1100 0110 0001 1000 0xC618 1863*/
#define ILI9341_DARKGREY 0xF7D3 /* 128, 128, 128 * 0111 1011 1110 1111 0x7BEF F7D3*/
#define ILI9341_BLUE 0xF800 /* 0, 0, 255 * 0000 0000 0001 1111 0x001F F800*/
#define ILI9341_GREEN 0x07E0 /* 0, 255, 0 * 0000 0111 1110 0000 07E0*/
#define ILI9341_CYAN 0xFFE0 /* 0, 255, 255 * 0000 0111 1111 1111 0x07FF FFE0*/
#define ILI9341_RED 0x001F /* 255, 0, 0 * 1111 1000 0000 0000 0xF800 001F*/
#define ILI9341_MAGENTA 0xF81F /* 255, 0, 255 * 1111 1000 0001 1111 MAGENTA (пурпурный)F81F*/
#define ILI9341_YELLOW 0x07FF /* 255, 255, 0 * 1111 1111 1110 0000 FFE0 07FF*/
#define ILI9341_WHITE 0xFFFF /* 255, 255, 255 * 1111 1111 1111 1111 WHITE (белый) FFFF*/
#define ILI9341_ORANGE 0x04BF /* 255, 165, 0 * 1111 1101 0010 0000 0xFD20 04BF */
#define ILI9341_GREENYELLOW 0xA7F5 /* 173, 255, 47 * 1010 1111 1110 0101 0xAFE5 A7F5*/
#define ILI9341_PINK 0xF81F /* 1111 1000 0001 1111
#define ILI9341_GRAY 0x514a /* 0101 0010 1000 1010 0x528A


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Чт май 01, 2025 23:55:05 
Это не хвост, это антенна

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1482
Рейтинг сообщения: 0
Я проблему решил следующим образом - переписал инициализацию цветов в файле библиотеки ILI9341. Шестнадцатиричное значение с помощью калькулятора Windows преобразовал в двоичное число, полученное число нужно переписать зеркально, т.е. читать не слева направо а справо налево. Получившееся число с помощью онлайн калькулятора преобразуем снова в шестнадцатиричное число. Полученным результатом заменил имевшееся значение.
А можно было просто прочитать в учебнике по си, что такое "макросы". И написать таковой. Всего в одну строку. А не устраивать "закат солнца вручную"... 8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Пт май 02, 2025 05:04:25 
Родился

Зарегистрирован: Чт май 01, 2025 15:01:30
Сообщений: 2
Рейтинг сообщения: 0
Я в Си особо не силён, можно сказать начинающий. Мне так оказалось проще.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 + ili9341 выдает не правильные цвета
СообщениеДобавлено: Пт май 02, 2025 11:16:51 
Это не хвост, это антенна

Карма: -10
Рейтинг сообщений: 171
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1482
Рейтинг сообщения: 0
Так если учебник не открывать, то так навсегда и останетесь начинающим. Как же иначе?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y