Страница 1 из 1
ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Пн апр 10, 2017 08:25:44
Denis82
Доброго времени суток уважаемые Коты и Кошечки
помогите победить дисплей на контроллере 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 прилагаю
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Сб июн 03, 2017 12:41:58
Ivanoff-iv
помоему у меня такойже (в понедельник гляну) инициировал его, бился, а он оказался инверсным и инициировался белым, а рисовал черным (вместо белого), ну и цвета наизнанку.
Добавлено after 2 minutes 43 seconds:
у менф он был в комплекте с непропаянной ардуиной, что тоже подарило много увлекательных часов

Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Сб июн 03, 2017 14:20:33
Novice user
Denis82,попробуй это залить,атмега16,кварц 16 мгц
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Ср июн 07, 2017 13:52:55
croc19
получилось?
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Ср июн 07, 2017 14:57:44
Denis82
спасибо всем ответившим !
прошивку ещё не пробовал, руки не доходят да и кварца на 16мгц помойму нет ...
кстати на ардуине этот дисплей у меня завелся, так что по идее можно с ардуины код взять, пока было время я с utft вырезал что было лишним для простоты портирования, но повторюсь пока другим занят, закончу с текущей задачей и вернусь к дисплею
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Пн июл 17, 2017 06:01:35
Denis82
[uquote="Novice user",url="/forum/viewtopic.php?p=3119093#p3119093"]Denis82,попробуй это залить,атмега16,кварц 16 мгц[/uquote]
попробовал, просто белый экран и периодически помаргивает
соединял как в первом посте, питание 5в (как и на ардуине)
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Пн авг 28, 2017 14:46:16
goldexer
Ребят, помогите пожалуйста! Я понимаю, что портирование с ардуино драйвера и перепись под атмел студию уже грандиозная работа!
Но всё же вынужден просить помощи, полтора года мучаюсь...
Суть проблемы:
Есть этот дисплей, подключен к ардуино мега, на скомпиллированном скетче из примеров 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/
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Пн авг 28, 2017 14:55:39
Denis82
я так и не смог победить этот дисплей на меге, и тоже заказал другой дисплей, а этот лежит до лучших времен
и да, ситуация та-же, на ардуине работает, на меге не хочет нивкакую, подумываю попробовать запустить его на STM-е, там вроде как есть библиотека под него
ну а ILI9341 у меня прекрасно завелся на 16 меге, проект на AS6.2
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Вт авг 29, 2017 11:31:34
goldexer
ПОБЕДИЛ Я ЕГО!!! ДА-ДА-ДА!
Не полностью, конечно, но уже есть на что посмотреть!
Кстати, ребят, после прошивки ПОЛНОСТЬЮ обесточиваем ардуинку и включаем снова! НЕ РЕСЕТ, а именно полное отключение!
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Вт авг 29, 2017 14:50:09
Denis82
поздравляю !
а в чем дело было если не секрет ?
так ардуину или мегу ?
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Вт авг 29, 2017 16:21:28
goldexer
Кхм, нууу не совсем победил, но стала включаться. Вообще у меня ардуино мега с микрококонтроллером Atmega2560, прошиваю его через usb-asp. Почему-то не хочет нормально очищать экран, вместо этого просто заливаю его черным цветом. Есть ещё там куча недочётов, но просто я этим занимаюсь на работе, скажем так, пятиминутками. Потихоньку разберусь с ним полностью, добьюсь от него адекватной работы и напишу ещё раз.
Для только что подошедших: экран как у ТС на фотке, вставляется как есть всей своей гребенкой в разъем ардуино-мега на мк 2560. Так вот выложенный проект не работал ни в какую, строго черный экран и всё. Я его чуток подправил, параллельно убираю все ненужные режимы (8бит, др. драйвера, т.е. остаётся только для ili9481 HX8357B). Сейчас уже запускается, это уже хоть что-то! Дальше дело за малым...
Потому что когда у тебя черный экран и под рукой ни анализатора, ни отладчика, ни осциллографа, ничего нет, то остается только гадать, почему не работает. И что с этим делать - тоже только наугад.
UPD: Так, заливает экран цветом хорошо, даже очень! За секунду "на глазок" раз пять-семь на частоте меги 16 МГц. Можно попробовать ещё ускорить, если не сохранять состояния порта для инверсии конкретного бита, а просто весь порт дергать и всё. Насколько я смог понять, сейчас первая проблема именно в очистке экрана. Заливает без проблем, а очищать - глюк.
Кстати, вопрос: можно ли отрисовать картинку, а контроллер заставить отобразить всё это дело только после того, как рисование закончено?
Re: ILI9481 TFT дисплей + ATMega16, нужна помощь
Добавлено: Ср авг 30, 2017 06:03:56
Denis82
goldexer писал(а):Потому что когда у тебя черный экран и под рукой ни анализатора, ни отладчика, ни осциллографа, ничего нет, то остается только гадать, почему не работает. И что с этим делать - тоже только наугад.
очень знакомо, именно поэтому я и отложил его до лучших времен, тех, когда разорюсь на осциллограф и JTAG