Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

ILI9481 TFT дисплей + ATMega16, нужна помощь

Пн апр 10, 2017 08:25:44

Доброго времени суток уважаемые Коты и Кошечки :)

помогите победить дисплей на контроллере ILI9481
дисплей вот такой

Изображение Изображение

подключал к меге16
на самом дисплее выводы не подписаны, но в нете нарыл 2 картинки

Изображение Изображение

к меге подключил так
PD0 - WR
PD1 - RS
PD2 - RST
PD3 - CS
PD4 - RD(FLASH_CS)

PB8-PB15 (VH) - PORTC
PB0-PB7 (VL) - PORTA

т.е. VL0-PA0, VL1-PA1 и т.д.
соответственно VH0-PC0, VH1-PC1 и т.д.

про инициализацию в ДШ ничего не увидел, в нете тоже мало что нашёл, но нашёл переписаную на xmega UTFT библиотеку для ардуино (переписаная либа отсюда )
немного поправил её для atmega, добавил инициализацию драйвера ILI9481 из родной исходной библиотеки UTFT, так-же оттуда взял установку позиции X-Y

но как не шаманил дисплей просто горит белым светом :(

пробовал так

Код:
   DDRB = 0b00000001;      //PB0 выход (светодиод)
   PORTB |= _BV(PB0);      //зажечь
   _delay_ms(4000);
   PORTB &= ~_BV(PB0);   //погасить
   
   
   LCD_Init(ILI9481, LANDSCAPE);
   PORTB |= _BV(PB0);      //зажечь
   _delay_ms(1000);
   
   LCD_ClrScreen();
   LCD_SetFont(BigFont);
   LCD_SetColor_Word(VGA_WHITE);
   LCD_Text("Fill Screen",0,0,0);
   _delay_ms(1000);
   PORTB &= ~_BV(PB0);   //погасить


зажигаю и гашу светодиод на PB0 для проверки не повисло ли на какой функции, ничего не виснет

подскажите в какую сторону копать ?

проект в atmel studio 6.1 прилагаю
Вложения
TFT_ILI9481_UTFT.zip
(132.18 KiB) Скачиваний: 463

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Сб июн 03, 2017 12:41:58

помоему у меня такойже (в понедельник гляну) инициировал его, бился, а он оказался инверсным и инициировался белым, а рисовал черным (вместо белого), ну и цвета наизнанку.

Добавлено after 2 minutes 43 seconds:
у менф он был в комплекте с непропаянной ардуиной, что тоже подарило много увлекательных часов :)

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Сб июн 03, 2017 14:20:33

Denis82,попробуй это залить,атмега16,кварц 16 мгц
Вложения
Denis82.hex
(13.75 KiB) Скачиваний: 832

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Ср июн 07, 2017 13:52:55

получилось?

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Ср июн 07, 2017 14:57:44

спасибо всем ответившим !

прошивку ещё не пробовал, руки не доходят да и кварца на 16мгц помойму нет ...

кстати на ардуине этот дисплей у меня завелся, так что по идее можно с ардуины код взять, пока было время я с utft вырезал что было лишним для простоты портирования, но повторюсь пока другим занят, закончу с текущей задачей и вернусь к дисплею

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Пн июл 17, 2017 06:01:35

Denis82,попробуй это залить,атмега16,кварц 16 мгц

попробовал, просто белый экран и периодически помаргивает

соединял как в первом посте, питание 5в (как и на ардуине)

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Пн авг 28, 2017 14:46:16

Ребят, помогите пожалуйста! Я понимаю, что портирование с ардуино драйвера и перепись под атмел студию уже грандиозная работа!
Но всё же вынужден просить помощи, полтора года мучаюсь...

Суть проблемы:
Есть этот дисплей, подключен к ардуино мега, на скомпиллированном скетче из примеров UTFT работает, рисует.
Далее открыл прикрепленный проект в атмел студии, поменял тип контроллера на Mega2560, F_CPU на 16 000 000,

Код:
#define LCD_LO_DDR       DDRC
#define LCD_LO_PORT      PORTC
#define LCD_LO_PIN       PINC

#define LCD_HI_DDR       DDRA
#define LCD_HI_PORT      PORTA
#define LCD_HI_PIN       PINA


#define LCD_WR_DDR       DDRG
#define LCD_WR_PORT      PORTG
#define LCD_WR_PIN       PING
#define LCD_WR_BIT       2
 
#define LCD_RS_DDR       DDRD
#define LCD_RS_PORT      PORTD
#define LCD_RS_PIN       PIND
#define LCD_RS_BIT       7

#define LCD_RST_DDR      PORTG
#define LCD_RST_PORT     PORTG
#define LCD_RST_PIN      PORTG
#define LCD_RST_BIT      0

#define LCD_CS_DDR       DDRG
#define LCD_CS_PORT      PORTG
#define LCD_CS_PIN       PING
#define LCD_CS_BIT       1
 
#define LCD_RD_DDR       DDRL
#define LCD_RD_PORT      PORTL
#define LCD_RD_PIN       PINL
#define LCD_RD_BIT       4


и как результат работы прошивки просто разноцветные пиксели, шум.

Повторюсь, экран работает при заливке скетча ардуино. Подключен так же как на ваших картинках по нему, т.е. просто гребенка вставляется в ардуино мега и всё.

Я уже сравнил код инициализации хекс в хекс, там всё отлично. Перепроверил выводы, тоже, вроде всё правильно! Порты А и С менял местами.
Ткните, товарищи, носом, пожалуйста, в чем я мог ошибиться.

Сколько лет читаю этот форум, всегда старался держать себя в руках и не постить простые вопросы или некомпетентные ответы. Но уже полтора года будь проклят тот день, когда я сел за баранку этого пылесоса.
А дисплей хорош, ничего не скажешь, достаточно крупный! Я уже отчаявшись заказал на али дисплей на контроллере 9341? потому что код под него генерирует CodeVisionAVR. Ну не выбрасывать же хороший рабочий дисплей...

UPD: ну не может же ардуино компилировать во что-то такое магическое, во что не может студия.
Кстати, у старших мег есть External Memory Interface очень напоминающий FSMC и вроде как встречались подключения похожих дисплеев по этому способу. По идее должно выйти быстрее, нет? Хотя я не лез в принципы работы, может управляющие сигналы разнятся.
Нашел: http://andybrown.me.uk/2013/06/08/a-gen ... e-arduino/
Последний раз редактировалось goldexer Вт авг 29, 2017 10:32:05, всего редактировалось 3 раз(а).

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Пн авг 28, 2017 14:55:39

я так и не смог победить этот дисплей на меге, и тоже заказал другой дисплей, а этот лежит до лучших времен
и да, ситуация та-же, на ардуине работает, на меге не хочет нивкакую, подумываю попробовать запустить его на STM-е, там вроде как есть библиотека под него

ну а ILI9341 у меня прекрасно завелся на 16 меге, проект на AS6.2

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Вт авг 29, 2017 11:31:34

ПОБЕДИЛ Я ЕГО!!! ДА-ДА-ДА!

Не полностью, конечно, но уже есть на что посмотреть!

Кстати, ребят, после прошивки ПОЛНОСТЬЮ обесточиваем ардуинку и включаем снова! НЕ РЕСЕТ, а именно полное отключение!
Вложения
TFT_ILI9481_UTFT - копия.rar
(131.64 KiB) Скачиваний: 478

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Вт авг 29, 2017 14:50:09

поздравляю !

а в чем дело было если не секрет ?

так ардуину или мегу ?

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Вт авг 29, 2017 16:21:28

Кхм, нууу не совсем победил, но стала включаться. Вообще у меня ардуино мега с микрококонтроллером Atmega2560, прошиваю его через usb-asp. Почему-то не хочет нормально очищать экран, вместо этого просто заливаю его черным цветом. Есть ещё там куча недочётов, но просто я этим занимаюсь на работе, скажем так, пятиминутками. Потихоньку разберусь с ним полностью, добьюсь от него адекватной работы и напишу ещё раз.

Для только что подошедших: экран как у ТС на фотке, вставляется как есть всей своей гребенкой в разъем ардуино-мега на мк 2560. Так вот выложенный проект не работал ни в какую, строго черный экран и всё. Я его чуток подправил, параллельно убираю все ненужные режимы (8бит, др. драйвера, т.е. остаётся только для ili9481 HX8357B). Сейчас уже запускается, это уже хоть что-то! Дальше дело за малым...

Потому что когда у тебя черный экран и под рукой ни анализатора, ни отладчика, ни осциллографа, ничего нет, то остается только гадать, почему не работает. И что с этим делать - тоже только наугад.

UPD: Так, заливает экран цветом хорошо, даже очень! За секунду "на глазок" раз пять-семь на частоте меги 16 МГц. Можно попробовать ещё ускорить, если не сохранять состояния порта для инверсии конкретного бита, а просто весь порт дергать и всё. Насколько я смог понять, сейчас первая проблема именно в очистке экрана. Заливает без проблем, а очищать - глюк.

Кстати, вопрос: можно ли отрисовать картинку, а контроллер заставить отобразить всё это дело только после того, как рисование закончено?
Последний раз редактировалось goldexer Ср авг 30, 2017 10:19:13, всего редактировалось 2 раз(а).

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь

Ср авг 30, 2017 06:03:56

goldexer писал(а):Потому что когда у тебя черный экран и под рукой ни анализатора, ни отладчика, ни осциллографа, ничего нет, то остается только гадать, почему не работает. И что с этим делать - тоже только наугад.

очень знакомо, именно поэтому я и отложил его до лучших времен, тех, когда разорюсь на осциллограф и JTAG
Ответить