Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/55: Рейтинг темы: голосов - 55, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54

Ili9341 параллельный интерфейс

27.09.2018, 14:05. Показов 12552. Ответов 82
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я решил попробовать завести этот экран по параллельной 8 битной шине. Но когда я закончил портировать код с avr(я это делал в первый раз) и прошил контроллер ничего не отобразилось. Есть очень высомые подозрения что я неправильно реализовал передачу данных. У меня stm32f103ret6 так что с помощью fsmc не получится
Вложения
Тип файла: zip ili9341.zip (4.66 Мб, 58 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2018, 14:05
Ответы с готовыми решениями:

FreeRtos и Параллельный интерфейс 8080
Нужно вывести график на сенсорный экран по параллельному интерфейсу 8080, возможно ли это сделать в FriiRtos или есть какая-то более...

Ввод данных через параллельный интерфейс (стык С3)
Нужна программа на ассемблере КР580 для ввода данных через параллельный интерфейс (стык С3). Мне не нужна какая-то отлаженная программа,...

Интерфейс Comparable, Интерфейс Comparator, Интерфейс List
Добрый день, прошу подсказать с решением задачи. Или натолкнуть в какую сторону нужно думать. Не могу освоить второй пункт задачи. 1....

82
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
28.09.2018, 22:20
Студворк — интернет-сервис помощи студентам
Может. В регистрах конфигурации выбирается разрядность интерфейса. Или подтяжками IM[3:0].
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 12:52  [ТС]
Rius, к сожалению доступа к подтяжкам у меня нет. А экран разбирать не хочется зная мои кривые руки.

Добавлено через 1 час 1 минуту
Rius, я тут немного поэсперементировал и понял что единственный цвет который отображается правильно это белый
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 12:56
Потому что белый это все единицы. От их перестановки ничего не меняется.
Добейтесь правильного ID дисплея и научитесь записывать и читать отдельные данные в/из ОЗУ.
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 13:04  [ТС]
Но в чёрном же тоже везде f, а показывает красный
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 13:08
Откуда в чёрном F? Чёрный это нули.
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 13:13  [ТС]
Rius, да попутал. Значит черный у меня выглядит как белый на дисплее, а белый как красный
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 13:22
Мультиметр под рукой есть?
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 13:25  [ТС]
Rius, да есть
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 13:29
С неактивным сигналом CS подайте методом ILI9341_SetData следующие байты : 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80.
Мультиметром проверьте, что биты D0-D7 на входе дисплея устанавливаются без путаницы.
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 14:23  [ТС]
при 0x01 b0 активна, остальные нет. при 0x02 активна b1, остальные нет. при 0x04 активна b2, остальные нет. при 0x08 активна b3, а другие нет. при 0x10 активна b4. при 0х20 активна b5. при 0х40 активны b3 b4. при 0х80 активна b7
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 14:32
Цитата Сообщение от Mixed Посмотреть сообщение
при 0х40 активны b3 b4
Должно быть только лишь B6. Что-то не то напаяли?

Добавлено через 1 минуту
И надо смотреть не на выходах МК PORTB 0...7, а на входах самого дисплея.
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 14:46  [ТС]
при 0х40 д6 активна

Добавлено через 2 минуты
при 0х02 активна д1
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 14:47
Установите строку и колонку на 0, 0.
Запишите 10 байт 0xff (команла memory write и данные).
Считайте 10 байт (команда memory read и 10 чтений).
Чему они будут равны?
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 14:49  [ТС]
при 0х01 активна д0

Добавлено через 43 секунды
Rius, что значит установить строку и колонку?
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 14:52
8.2.20. Column Address Set (2Ah)
8.2.21. Page Address Set (2Bh)
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 15:04  [ТС]
Rius, 10 чтений это 10 комманд ILI9341_ReadData?
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 15:11
Сначала команда
8.2.24. Memory Read (2Eh)
потом 10 вызовов ILI9341_ReadData(), чей результат сохранить в массив.

Добавлено через 9 секунд
Сначала команда
8.2.24. Memory Read (2Eh)
потом 10 вызовов ILI9341_ReadData(), чей результат сохранить в массив.
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 15:27  [ТС]
Кликните здесь для просмотра всего текста

uint8_t data[10];
char str[5];
ILI9341_WriteCommand(0x2ah);
ILI9341_WriteData(0x00);
ILI9341_WriteCommand(0x2bh);
ILI9341_WriteData(0x00);
ILI9341_WriteCommand(0x2ch);
ILI9341_WriteData(0xff);
ILI9341_WriteCommand(0x2eh);
data[0] = ILI9341_ReadData();
data[1] = ILI9341_ReadData();
data[2] = ILI9341_ReadData();
data[3] = ILI9341_ReadData();
data[4] = ILI9341_ReadData();
data[5] = ILI9341_ReadData();
data[6] = ILI9341_ReadData();
data[7] = ILI9341_ReadData();
data[8] = ILI9341_ReadData();
data[9] = ILI9341_ReadData();
sprintf(str, "0x%08X", data[0]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[1]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[2]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[3]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[4]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[5]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[6]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[7]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[8]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
sprintf(str, "0x%08X", data[9]);
CDC_Transmit_FS((uint8_t *)str, 5);
CDC_Transmit_FS((uint8_t * )"\r", 1);
HAL_Delay(10000);

при таком коде получается 0х000

Добавлено через 16 секунд
где то я накосячил
0
Эксперт .NET
 Аватар для Rius
13832 / 7905 / 1709
Регистрация: 25.05.2015
Сообщений: 24,004
Записей в блоге: 14
29.09.2018, 15:38
Цитата Сообщение от Mixed Посмотреть сообщение
ILI9341_WriteCommand(0x2ch);
ILI9341_WriteData(0xff);
Здесь надо передать 10 байт 0xff, не один.


Цитата Сообщение от Mixed Посмотреть сообщение
sprintf(str, "0x%08X", data[0]);
CDC_Transmit_FS((uint8_t *)str, 5);
А это зачем? У вас отладчика нет человеческого)?
Типа такого: Нелогичные принципы программирования
0
0 / 0 / 0
Регистрация: 04.08.2017
Сообщений: 54
29.09.2018, 15:40  [ТС]
у меня есть st link и все. Отладку в кеиле делать не могу так как он пишет evalution mod! limit 32kb
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2018, 15:40

STM32F4 и ILI9341
Использую параллельный 16 битный интерфейс(FSMC), работает оооочень медленно. Заливка всего экрана новым цветом длиться больше минуты. В...

Помогите с ILI9341
Пришёл графический дисплейчик вот такой...

stm32f4 и ili9341
Здоров народ! купил модуль ili9341 но включить , не в какую не получается. Из протокола SPI сказанно что первый бит решает читаем мы...

Stm32f429+Ili9341
Здравствуйте. Есть такой код: char result_stw; void window_1_callback( UG_MESSAGE* msg ) { if ( msg->type ==...

Дисплей ILI9341
Здравствуйте!Может подскажите,дислей TFT-дисплей 2.2 SPI 240*320 (ILI9341),использую библиотеку arduino...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru