Я бы не доверял TXS0108e, пока дисп не запустится, в этом случае может не прокатить. Сам наступал на эти грабли, да и в сети пишут, что они капризные. Для них нужны определенные условия. А бы посоветовал SN74LVC245. Направление переключать с любого свободного пина.
ziyara, ну что, так и не победили ?
у вас же есть дисп ST7735S с Али , с известной распиновкой , ну и проследите куда известные пины идут в стекло .
А на неизвестном диспе тогда проследите куда из стекла они же выходят на распиновку.
очередность на стекле та же. ну мож незначительно какие - , + могут добавиться.
// в st7735s datasheet есть очередность пинов в кристалле для сверки
все D0-D17 замыкаются на минус при выходе со стекла в шлейф.
спасибо за инфу,но пока не победил,время нет.будет время победю)))
Блин голова пухнет от кучи инфы уже. Лопачу кучу страниц а понимания картины так и нет. Подскжите что бы прояснить.
Arduino Mega2560 , будет использаватся ТОЛЬКО ДЛЯ ТЕСТОВ дисплеев (что бы понять какой в нем контроллер, считывания ID)
(Народ заморачивается с готовыми шилдами а я сам сделаю под конкретную конструкцию. мне платку сделать не проблем с дорожками 0,2мм под конкретный дисплей )
Соответственно переходник нужен только под мегу что бы к нему можно подкидывать разные дисплеи и проверять их работоспобность.
Я так понимаю есть 4 средства программных для этого
Adafruit ID read v5.2
Adafruit ID read v5.3
MCUFRIEND_kbv
UTFT
на какие ноги меги развести D0-D15 CS CD WR RD RESET
Несколько страниц назад FalconFly нашел шикарный дисплей от сотового LG GX500. Распаял я такой же чтобы пощупать - шикарная вещь! Отличные сочные цвета, углы обзора (думаю, это IPS матрица). Ко всему прочему - она умеет 16 млн цветов! И при желании 16 бит шину, я тестировал на 8 бит. Разъемчик для пайки сложный, но за пару часов распаивается без проблем на макетку. Подключил к девборде STM32F407ZET6, использую FSMC. Вся информация в посте FalconFly достаточна для подключения и инициализации!
люди дайте
схему подключения дисплея к ардуино
. А то я хз которых выводов цыплят
дисплей к ардуино !!!! ????
Это крик утопающего?
Берете в сети схему вашей меги, для тех кто слабоват в схемах, есть даже в красивых цветных рисунках.
Смотрите в скейче для ардуино какие выводы для чего предназначены. Подключаете их в соответствии с распиновкой вашего диспа. Если дисп на 3в, а мега на 5в, нужен преобразователь уровней.
Конкретнее надо вопрос задавать. Какая мега, распиновка диспа и т.д.
Экстрасенсы только на ТНТ!
Если вы уже указывали в каком-то посте ваши данные, то укажите номер поста.
Читайте первые страницы этой темы. Там на 90% найдете ответ.
А зачем делать кривую то. Надо нормальную. Я два дня курил все 50 страниц ветки . три раза переделывал платы пока не пришел к окончательному решению. А все почему - да потому что плохо догонял какие есть библиотеки и как с ними работать. ( покрайне мере на начальном уровне- на моем тоесть) Весь интернет обсуждает недоэлектронные чудо китайцев - ГОТОВЫЕ ШИлды. Но куда проше изначально нарисовать принципиалку как все должно быть. Вот и появляется путаница. А то такие определения как красный или зеленый шилд. Просто отрыв башки. У меня сроду небыло покупных ЛСД шилдов. Нах платить за то что можно слепить самому.
А зачем делать кривую то. Надо нормальную. Я два дня курил все 50 страниц ветки . три раза переделывал платы пока не пришел к окончательному решению. А все почему - да потому что плохо догонял какие есть библиотеки и как с ними работать. ( покрайне мере на начальном уровне- на моем тоесть) Весь интернет обсуждает недоэлектронные чудо китайцев - ГОТОВЫЕ ШИлды. Но куда проше изначально нарисовать принципиалку как все должно быть. Вот и появляется путаница. А то такие определения как красный или зеленый шилд. Просто отрыв башки. У меня сроду небыло покупных ЛСД шилдов. Нах платить за то что можно слепить самому.
Я вас понимаю и вы правы бывают различные модели экранов я просто не знал которых выводов ардуино нано подключать дисплей там же от 0 до 13 цифровых пинов думаю что аналоговые не подключаются.
Да брателла, ты все правильно понимаешь. Не все так просто со шрифтами. Их нужно в программе редактировать. Это гемморойно, сам через это прошел. Надо понять принцип построения шрифтов в программе. Это в двух словах не объяснить. Я информацию собирал в инете. Делал проектик на ПИКе, тоже нужны были большие цифры. У микрочипа есть утилита (но только для ПИКов), стандартные шрифты переводит в сишный код. Все равно приходилось редактировать в ручную. Ох я нае....ся!
Где-то нарыл в инете программу в екселе для создания шрифтов, но ее потерял, так и не нашел.
Так-что только гуглить и вникать вам придется для понимания.
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Я бы помог, но я в программировании не очень, да и с ардуино я сейчас не работаю. Уже все забыл. Да и что-то ардуино на компе уже не запускается.
Может кто на ты с ардуино подскажут. Все равно нужно изучать азы "Китайской грамоты".
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Я бы помог, но я в программировании не очень, да и с ардуино я сейчас не работаю. Уже все забыл. Да и что-то ардуино на компе уже не запускается.
Может кто на ты с ардуино подскажут. Все равно нужно изучать азы "Китайской грамоты".
Пытаюсь читаю по програмированию . Но уже усваивается все труднее и труднее. Не так как в юности. Да объём информации большой сразу в голову не засунешь. А софтом надо постоянно заниматся что бы были навыки и не забывалось
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
непонятно в чем проблема , загуглить - mcufriend_kbv шрифты , заодно там и русские найдете если надо.
библиотека mcufriend_kbv использует 2 разные библиотеки Adafruit и UTFT , смотря какой пример вы будете переделывать под себя .
если используете MCUFRIEND_kbv\examples\graphictest_kbv , то там есть пример по разным шрифтам MCUFRIEND_kbv\examples\Font_simple
шрифты #include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <FreeDefaultFonts.h>
как ими писать увидите в примере.
если используете MCUFRIEND_kbv\examples\GLUE_Demo_400x240 то там есть
myGLCD.setFont(SmallFont); меняете на myGLCD.setFont(BigFont); , огромные цифры myGLCD.setFont(SevenSegNumFont);
возможно в примере вверху понадобится раскомментировать
//extern uint8_t SmallFont[];
и добавить еще
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];
Всем привет. Прошу помощи по запуску дисплея от samsung GT-S5250. У меня есть распиновка шлейфа. Контроллер мега 328р (ардуино нано). Подключение как расписано в читалке. Распаяно аккуратно ( Пробовал перепаивать-без результата)
Распаял, подключил по схеме. Дисп не ожил. Пробовал с UTFT, перебирал иниты-на дисплее всегда зависает "белый шум". Удалось получить изображение на либе UTFT_v2.77b2_uno_ili9327_8bit_turbo, завелся с первого раза но непонятно что с изображением, инверсные цвета, при изменении инита ничего не меняется.
поищите по форуму GT-S5233 , GT-S5230 ( собственно вы и сами знаете судя по коннектору на плате на фото . заводились эти диспы ? ).
// UTFT_v2.77b2_uno_ili9327_8bit_turbo (модифицированный UTFT) работает на адафруитской распиновке ардуинки 7823456 , а не модифицированный UTFT 01234567 , поэтому для подбора инитов UTFT надо использовать подключение 01234567 , и чистый UTFT (и надо закоментить по 50% #define DISABLE_ в файле memorysaver.h , т.к. памяти у меги328 не хватает под все иниты . при закомментировании , эти иниты подгружаются в мегу328 ) . Останется только перебирать номера от 0 до 15 в примере UTFT_Demo_400x240 , а потом на другие 50% инитов от 16 до 31 ). Или же с примера по удалять половину графики , чтоб сразу для всех раскоментированных инитов хватило памяти )
На чистом UTFT , надо на RD подкл. на +3.3в . А в доработанной либе 8bit_turbo , на пин A0 подается лог.1 (внутри либы,) , потому как на адафруитском шилде RD выведен на A0.
//// раз UTFT_v2.77b2_uno_ili9327_8bit_turbo завел его , то можно его и юзать , немного подменить данные в регистрах инита . в теме есть много решений по - инверсия цветов ( в местный поиск - инверсия цветов ) . Решений 3 - изменять регистры в ините , выбрать режим на диспе с помощью выводов IM , использовать его на 16бит (не для этого диспа).
Поковырялся с дисплеем, так и не удалось наладить инит по человечески, видимо дисп очень китайский. Взял либу UTFT_v2.77b2_uno_ili9327_8bit_turbo и пихнул инит, который использовал Tvicks в посте #634. Вернуть цвета так и не удалось да и работает не совсем корректно. В идеале бы заставить работать с MCUFRIEND_kbv, Adafruit
aleksl, надо было по файлам либы полазить.
а что вам ответили скетчи LCD_ID_Read(new) в монитор порта ? ( подключение DB0-7 соответственно 7823456 ) какой id он нашел, тот и искать в файле либы MCUFRIEND_kbv.cpp , там же и можно ( вверху файла ) отключить иниты которыми не пользуетесь , для экономии .
// ответ можно скопировать из терминала Ctrl+A Ctrl+C ) и проложить сюда с галкой - сворачивать код по умолчанию
В случае GLUE_Demo_400x240 , какой контроллер прописали в UTFTGLUE myGLCD(.....,A2,A1,A3,A4,A0) , инит того и найдете в MCUFRIEND_kbv.cpp
Я бы не доверял TXS0108e, пока дисп не запустится, в этом случае может не прокатить. Сам наступал на эти грабли, да и в сети пишут, что они капризные. Для них нужны определенные условия. А бы посоветовал SN74LVC245. Направление переключать с любого свободного пина.
ziyara, ну что, так и не победили ?
у вас же есть дисп ST7735S с Али , с известной распиновкой , ну и проследите куда известные пины идут в стекло .
А на неизвестном диспе тогда проследите куда из стекла они же выходят на распиновку.
очередность на стекле та же. ну мож незначительно какие - , + могут добавиться.
// в st7735s datasheet есть очередность пинов в кристалле для сверки
все D0-D17 замыкаются на минус при выходе со стекла в шлейф.
Под различные типы дисплеев сделаю переходники. Подсоеденятся всё будет такой же гребенкой как и на ардуино (папы и мамы)
А этот под конкретный дисплей?
нет это осонвой так сказать шилд а к нему переходники под параленые лсд
масло маслом мазанное. Китай пора догонять. Сразу шилд на нужную ардуину.
так так и будет. ордуина шилд на неё а к нему уже можно разные дисплеи цеплять не гемороясь с кучей проводов и питаний.
Блин голова пухнет от кучи инфы уже. Лопачу кучу страниц а понимания картины так и нет. Подскжите что бы прояснить.
Arduino Mega2560 , будет использаватся ТОЛЬКО ДЛЯ ТЕСТОВ дисплеев (что бы понять какой в нем контроллер, считывания ID)
(Народ заморачивается с готовыми шилдами а я сам сделаю под конкретную конструкцию. мне платку сделать не проблем с дорожками 0,2мм под конкретный дисплей )
Соответственно переходник нужен только под мегу что бы к нему можно подкидывать разные дисплеи и проверять их работоспобность.
Я так понимаю есть 4 средства программных для этого
Adafruit ID read v5.2
Adafruit ID read v5.3
MCUFRIEND_kbv
UTFT
на какие ноги меги развести D0-D15 CS CD WR RD RESET
Несколько страниц назад FalconFly нашел шикарный дисплей от сотового LG GX500. Распаял я такой же чтобы пощупать - шикарная вещь! Отличные сочные цвета, углы обзора (думаю, это IPS матрица). Ко всему прочему - она умеет 16 млн цветов! И при желании 16 бит шину, я тестировал на 8 бит. Разъемчик для пайки сложный, но за пару часов распаивается без проблем на макетку. Подключил к девборде STM32F407ZET6, использую FSMC. Вся информация в посте FalconFly достаточна для подключения и инициализации!
SN74LVC245 не пойдет уровни 3,3-1,65. а вот 74HC245 отлично подходит. Попобовал.
SN74LVC245 не пойдет уровни 3,3-1,65. а вот 74HC245 отлично подходит. Попобовал.
Добрый день. У меня есть экран от Fly q434 TFT035K213FPC Ver01 48 pin. Подскажите распиновку на него. Не могу нарыть.
Может быть от Fly iq434. Поиском по ветке попробуй поискать.
Кусок схемы Fly IQ434:
люди дайте схему подключения дисплея к ардуино . А то я хз которых выводов цыплят дисплей к ардуино !!!! ????
люди дайте схему подключения дисплея к ардуино . А то я хз которых выводов цыплят дисплей к ардуино !!!! ????
Берете в сети схему вашей меги, для тех кто слабоват в схемах, есть даже в красивых цветных рисунках.
Смотрите в скейче для ардуино какие выводы для чего предназначены. Подключаете их в соответствии с распиновкой вашего диспа. Если дисп на 3в, а мега на 5в, нужен преобразователь уровней.
Конкретнее надо вопрос задавать. Какая мега, распиновка диспа и т.д.
Экстрасенсы только на ТНТ!
Если вы уже указывали в каком-то посте ваши данные, то укажите номер поста.
Читайте первые страницы этой темы. Там на 90% найдете ответ.
А зачем делать кривую то. Надо нормальную. Я два дня курил все 50 страниц ветки . три раза переделывал платы пока не пришел к окончательному решению. А все почему - да потому что плохо догонял какие есть библиотеки и как с ними работать. ( покрайне мере на начальном уровне- на моем тоесть) Весь интернет обсуждает недоэлектронные чудо китайцев - ГОТОВЫЕ ШИлды. Но куда проше изначально нарисовать принципиалку как все должно быть. Вот и появляется путаница. А то такие определения как красный или зеленый шилд. Просто отрыв башки. У меня сроду небыло покупных ЛСД шилдов. Нах платить за то что можно слепить самому.
Вот соорудил чисто для тестов разных LCD на UNO.
А десплеев я тут прикупил разных за 300 ру цельный мешёк. Зашел в сервис и мне продали по случаю не жмотясь.
А зачем делать кривую то. Надо нормальную. Я два дня курил все 50 страниц ветки . три раза переделывал платы пока не пришел к окончательному решению. А все почему - да потому что плохо догонял какие есть библиотеки и как с ними работать. ( покрайне мере на начальном уровне- на моем тоесть) Весь интернет обсуждает недоэлектронные чудо китайцев - ГОТОВЫЕ ШИлды. Но куда проше изначально нарисовать принципиалку как все должно быть. Вот и появляется путаница. А то такие определения как красный или зеленый шилд. Просто отрыв башки. У меня сроду небыло покупных ЛСД шилдов. Нах платить за то что можно слепить самому.
Я вас понимаю и вы правы бывают различные модели экранов я просто не знал которых выводов ардуино нано подключать дисплей там же от 0 до 13 цифровых пинов думаю что аналоговые не подключаются.
Чисто аналоговые у наны только А6 А7. Остальные могут быть цифровыми или аналоговыми по желанию програмиста.
Чисто аналоговые у наны только А6 А7. Остальные могут быть цифровыми или аналоговыми по желанию програмиста.
Чисто аналоговые у наны только А6 А7. Остальные могут быть цифровыми или аналоговыми по желанию программиста.
Сделали релизную плату игровой консоли BlackPrism Portable на базе дисплея LG GX500.
Пара видео, на которых дисплей показан в действии:
https://www.youtube.com/watch?v=DbkmFb09ISA
https://www.youtube.com/watch?v=Tnh5YUaBbpA
А можно исходнички проекта для тестирования дисплеев поиметь. Макет платы и схему? 79635431264@yandex.ru
А можно исходнички проекта для тестирования дисплеев поиметь. Макет платы и схему? 79635431264@yandex.ru
Можно! Напишите письмо на repstosw2018 [cобака] gmail [тoчкa] com
Доброго всем времени.
Поделитесь библиотекой для UTFT если конечно такая есть для
дисплея jx397h012-fpc-v02 29 пин 240x400 ST7793 ID = 0x7793
я так понимаю все не очень просто со шрифтами)
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Может кто на ты с ардуино подскажут. Все равно нужно изучать азы "Китайской грамоты".
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
Может кто на ты с ардуино подскажут. Все равно нужно изучать азы "Китайской грамоты".
Пытаюсь читаю по програмированию . Но уже усваивается все труднее и труднее. Не так как в юности. Да объём информации большой сразу в голову не засунешь. А софтом надо постоянно заниматся что бы были навыки и не забывалось
Для меня это что китайская грамота. Хотя в скачанной MCUFRIEND_kbv-master в файле UTFTGLUE.h насколько я понял речь идет о возможности использования шрифтов от UTFT. Но это в не моего понимания как это сделать. Надежда только на библиотеку UTFT для ST7793
непонятно в чем проблема , загуглить - mcufriend_kbv шрифты , заодно там и русские найдете если надо.
http://forum.amperka.ru/threads/%D0%A8%D1%80%D0%B8%D1%84%D1%82%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B2-utft.7336/
https://arduinoplus.ru/arduino-tft-lcd-display/
http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafruit-gfx-i-vyvod-russkikh-bukv-na-displei-v-kodi?page=1
....
библиотека mcufriend_kbv использует 2 разные библиотеки Adafruit и UTFT , смотря какой пример вы будете переделывать под себя .
если используете MCUFRIEND_kbv\examples\graphictest_kbv , то там есть пример по разным шрифтам
MCUFRIEND_kbv\examples\Font_simple
шрифты #include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <FreeDefaultFonts.h>
как ими писать увидите в примере.
если используете MCUFRIEND_kbv\examples\GLUE_Demo_400x240 то там есть
myGLCD.setFont(SmallFont); меняете на myGLCD.setFont(BigFont); , огромные цифры myGLCD.setFont(SevenSegNumFont);
возможно в примере вверху понадобится раскомментировать
//extern uint8_t SmallFont[];
и добавить еще
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];
можно еще загуглить - UTFT шрифты
О громное спасибо!!!! буду гуглить!!! Выходит не все так печально по шрифтам. Очень признателен за нужное направление. Буду двигатся и пробовать.
Презентация игровой консоли BlackPrism Portable. Впереди - десктопная версия.
https://www.youtube.com/watch?v=jdD8uShARMc
Всем привет. Прошу помощи по запуску дисплея от samsung GT-S5250. У меня есть распиновка шлейфа. Контроллер мега 328р (ардуино нано). Подключение как расписано в читалке. Распаяно аккуратно ( Пробовал перепаивать-без результата)
Распаял, подключил по схеме. Дисп не ожил. Пробовал с UTFT, перебирал иниты-на дисплее всегда зависает "белый шум". Удалось получить изображение на либе UTFT_v2.77b2_uno_ili9327_8bit_turbo, завелся с первого раза но непонятно что с изображением, инверсные цвета, при изменении инита ничего не меняется.
UTFT_v2.77b2_uno_ili9327_8bit_turbo:
Читалка 5.3 выдала :
001
v5.3 read all register + read ID + TFT LCD test
002
for
8bit TFT LCD UNO shield pinout Adafruit D89234567
003
on board Arduino UNO & Arduino MEGA
004
TFT size
set
is
320x240
005
include LCD drivers: ILI9325 ILI9328 HX8347G HX8347D* HX8357D ILI9341
006
v5.3 B0h <- 0xFFFFFF <- 0x040404 from Slider
007
<a href=
"http://www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov"
title=
"www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov"
rel=
"nofollow"
>www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mob...</a>
008
009
reg p1 p2 p3 p4 p5 p6 p7 p8
010
00 = 0 *
011
01 = 0
012
02 = 0
013
03 = 0
014
04 = 04 04 04 04 04 04 04 04 *****
015
05 = 04 04 04 04 04 04 04 04
016
06 = 04 04 04 04 04 04 04 04
017
07 = 04 04 04 04 04 04 04 04
018
08 = 0
019
09 = 0
020
0A = 0
021
0B = 0
022
0C = 04 04 04 04 04 04 04 04
023
0D = 04 04 04 04 04 04 04 04
024
0E = 04 04 04 04 04 04 04 04
025
0F = 04 04 04 04 04 04 04 04
026
10 = 0
027
11 = 0
028
12 = 0
029
13 = 0
030
14 = 04 04 04 04 04 04 04 04
031
15 = 04 04 04 04 04 04 04 04
032
16 = 04 04 04 04 04 04 04 04
033
17 = 04 04 04 04 04 04 04 04
034
18 = 0
035
19 = 0
036
1A = 0
037
1B = 0
038
1C = 04 04 04 04 04 04 04 04
039
1D = 04 04 04 04 04 04 04 04
040
1E = 04 04 04 04 04 04 04 04
041
1F = 04 04 04 04 04 04 04 04
042
20 = 0
043
21 = 0
044
22 = 0
045
23 = 0
046
24 = 04 04 04 04 04 04 04 04
047
25 = 04 04 04 04 04 04 04 04
048
26 = 04 04 04 04 04 04 04 04
049
27 = 04 04 04 04 04 04 04 04
050
28 = 0
051
29 = 0
052
2A = 0
053
2B = 0
054
2C = 04 04 04 04 04 04 04 04
055
2D = 04 04 04 04 04 04 04 04
056
2E = 04 04 04 04 04 04 04 04
057
2F = 04 04 04 04 04 04 04 04
058
30 = 0
059
31 = 0
060
32 = 0
061
33 = 0
062
34 = 04 04 04 04 04 04 04 04
063
35 = 04 04 04 04 04 04 04 04
064
36 = 04 04 04 04 04 04 04 04
065
37 = 04 04 04 04 04 04 04 04
066
38 = 0
067
39 = 0
068
3A = 0
069
3B = 0
070
3C = 04 04 04 04 04 04 04 04
071
3D = 04 04 04 04 04 04 04 04
072
3E = 04 04 04 04 04 04 04 04
073
3F = 04 04 04 04 04 04 04 04
074
40 = 0
075
41 = 0
076
42 = 0
077
43 = 0
078
44 = 04 04 04 04 04 04 04 04
079
45 = 04 04 04 04 04 04 04 04
080
46 = 04 04 04 04 04 04 04 04
081
47 = 04 04 04 04 04 04 04 04
082
48 = 0
083
49 = 0
084
4A = 0
085
4B = 0
086
4C = 04 04 04 04 04 04 04 04
087
4D = 04 04 04 04 04 04 04 04
088
4E = 04 04 04 04 04 04 04 04
089
4F = 04 04 04 04 04 04 04 04
090
50 = 0
091
51 = 0
092
52 = 0
093
53 = 0
094
54 = 04 04 04 04 04 04 04 04
095
55 = 04 04 04 04 04 04 04 04
096
56 = 04 04 04 04 04 04 04 04
097
57 = 04 04 04 04 04 04 04 04
098
58 = 0
099
59 = 0
100
5A = 0
101
5B = 0
102
5C = 04 04 04 04 04 04 04 04
103
5D = 04 04 04 04 04 04 04 04
104
5E = 04 04 04 04 04 04 04 04
105
5F = 04 04 04 04 04 04 04 04
106
60 = 0
107
61 = 0
108
62 = 0
109
63 = 0
110
64 = 04 04 04 04 04 04 04 04
111
65 = 04 04 04 04 04 04 04 04
112
66 = 04 04 04 04 04 04 04 04
113
67 = 04 04 04 04 04 04 04 04
114
68 = 0
115
69 = 0
116
6A = 0
117
6B = 0
118
6C = 04 04 04 04 04 04 04 04
119
6D = 04 04 04 04 04 04 04 04
120
6E = 04 04 04 04 04 04 04 04
121
6F = 04 04 04 04 04 04 04 04
122
70 = 0
123
71 = 0
124
72 = 0
125
73 = 0
126
74 = 04 04 04 04 04 04 04 04
127
75 = 04 04 04 04 04 04 04 04
128
76 = 04 04 04 04 04 04 04 04
129
77 = 04 04 04 04 04 04 04 04
130
78 = 0
131
79 = 0
132
7A = 0
133
7B = 0
134
7C = 04 04 04 04 04 04 04 04
135
7D = 04 04 04 04 04 04 04 04
136
7E = 04 04 04 04 04 04 04 04
137
7F = 04 04 04 04 04 04 04 04
138
80 = 0
139
81 = 0
140
82 = 0
141
83 = 0
142
84 = 04 04 04 04 04 04 04 04
143
85 = 04 04 04 04 04 04 04 04
144
86 = 04 04 04 04 04 04 04 04
145
87 = 04 04 04 04 04 04 04 04
146
88 = 0
147
89 = 0
148
8A = 0
149
8B = 0
150
8C = 04 04 04 04 04 04 04 04
151
8D = 04 04 04 04 04 04 04 04
152
8E = 04 04 04 04 04 04 04 04
153
8F = 04 04 04 04 04 04 04 04
154
90 = 0
155
91 = 0
156
92 = 0
157
93 = 0
158
94 = 04 04 04 04 04 04 04 04
159
95 = 04 04 04 04 04 04 04 04
160
96 = 04 04 04 04 04 04 04 04
161
97 = 04 04 04 04 04 04 04 04
162
98 = 0
163
99 = 0
164
9A = 0
165
9B = 0
166
9C = 04 04 04 04 04 04 04 04
167
9D = 04 04 04 04 04 04 04 04
168
9E = 04 04 04 04 04 04 04 04
169
9F = 04 04 04 04 04 04 04 04
170
A0 = 0
171
A1 = 0
172
A2 = 0
173
A3 = 0
174
A4 = 04 04 04 04 04 04 04 04
175
A5 = 04 04 04 04 04 04 04 04
176
A6 = 04 04 04 04 04 04 04 04
177
A7 = 04 04 04 04 04 04 04 04
178
A8 = 0
179
A9 = 0
180
AA = 0
181
AB = 0
182
AC = 04 04 04 04 04 04 04 04
183
AD = 04 04 04 04 04 04 04 04
184
AE = 04 04 04 04 04 04 04 04
185
AF = 04 04 04 04 04 04 04 04
186
B0 = 0
187
B1 = 0
188
B2 = 0
189
B3 = 0
190
B4 = 04 04 04 04 04 04 04 04
191
B5 = 04 04 04 04 04 04 04 04
192
B6 = 04 04 04 04 04 04 04 04
193
B7 = 04 04 04 04 04 04 04 04
194
B8 = 0
195
B9 = 0
196
BA = 0
197
BB = 0
198
BC = 04 04 04 04 04 04 04 04
199
BD = 04 04 04 04 04 04 04 04
200
BE = 04 04 04 04 04 04 04 04
201
BF = 04 04 04 04 04 04 04 04 *****
202
C0 = 0
203
C1 = 0
204
C2 = 0
205
C3 = 0
206
C4 = 04 04 04 04 04 04 04 04
207
C5 = 04 04 04 04 04 04 04 04
208
C6 = 04 04 04 04 04 04 04 04
209
C7 = 04 04 04 04 04 04 04 04
210
C8 = 0
211
C9 = 0
212
CA = 0
213
CB = 0
214
CC = 04 04 04 04 04 04 04 04
215
CD = 04 04 04 04 04 04 04 04
216
CE = 04 04 04 04 04 04 04 04
217
CF = 04 04 04 04 04 04 04 04
218
D0 = 0
219
D1 = 0
220
D2 = 0
221
D3 = 0 *
222
D4 = 04 04 04 04 04 04 04 04
223
D5 = 04 04 04 04 04 04 04 04
224
D6 = 04 04 04 04 04 04 04 04
225
D7 = 04 04 04 04 04 04 04 04
226
D8 = 0
227
D9 = 0
228
DA = 0 *
229
DB = 0 *
230
DC = 04 04 04 04 04 04 04 04 *****
231
DD = 04 04 04 04 04 04 04 04
232
DE = 04 04 04 04 04 04 04 04
233
DF = 04 04 04 04 04 04 04 04
234
E0 = 0
235
E1 = 0
236
E2 = 0
237
E3 = 0
238
E4 = 04 04 04 04 04 04 04 04
239
E5 = 04 04 04 04 04 04 04 04
240
E6 = 04 04 04 04 04 04 04 04
241
E7 = 04 04 04 04 04 04 04 04
242
E8 = 0
243
E9 = 0
244
EA = 0
245
EB = 0
246
EC = 04 04 04 04 04 04 04 04
247
ED = 04 04 04 04 04 04 04 04
248
EE = 04 04 04 04 04 04 04 04
249
EF = 04 04 04 04 04 04 04 04 *****
250
F0 = 0
251
F1 = 0
252
F2 = 0
253
F3 = 0
254
F4 = 04 04 04 04 04 04 04 04
255
F5 = 04 04 04 04 04 04 04 04
256
F6 = 04 04 04 04 04 04 04 04
257
F7 = 04 04 04 04 04 04 04 04
258
F8 = 0
259
F9 = 0
260
FA = 0
261
FB = 0
262
FC = 04 04 04 04 04 04 04 04
263
FD = 04 04 04 04 04 04 04 04
264
FE = 04 04 04 04 04 04 04 04
265
o------------------------------------o
266
| |
267
00 = 0 * |
268
04 = 04 04 04 04 04 04 04 04 ***** |
269
B0 = 0 |
270
BF = 04 04 04 04 04 04 04 04 ***** |
271
D3 = 0 * |
272
DA = 0 * |
273
DB = 0 * |
274
DC = 04 04 04 04 04 04 04 04 ***** |
275
EF = 04 04 04 04 04 04 04 04 ***** |
276
| |
277
o------------------------------------o
278
.23:57:54.021 -> . . . . . .
279
writing
in
Manufacturer Command Access Protect (B0h) <- 0xFFFFFF
280
B0 = 0
281
Device Code Read (BFh)
282
BF = 04 04 04 04 04 04 04 04 *****
283
. . .
284
285
reg p1 p2 p3 p4 p5 p6 p7 p8
286
B0 = 0
287
B1 = 0
288
B2 = 0
289
B3 = 0
290
B4 = 04 04 04 04 04 04 04 04
291
B5 = 04 04 04 04 04 04 04 04
292
B6 = 04 04 04 04 04 04 04 04
293
B7 = 04 04 04 04 04 04 04 04
294
B8 = 0
295
B9 = 0
296
BA = 0
297
BB = 0
298
BC = 04 04 04 04 04 04 04 04
299
BD = 04 04 04 04 04 04 04 04
300
BE = 04 04 04 04 04 04 04 04
301
BF = 04 04 04 04 04 04 04 04 *****
302
C0 = 0
303
C1 = 0
304
C2 = 0
305
C3 = 0
306
C4 = 04 04 04 04 04 04 04 04
307
C5 = 04 04 04 04 04 04 04 04
308
C6 = 04 04 04 04 04 04 04 04
309
C7 = 04 04 04 04 04 04 04 04
310
C8 = 0
311
C9 = 0
312
CA = 0
313
CB = 0
314
CC = 04 04 04 04 04 04 04 04
315
CD = 04 04 04 04 04 04 04 04
316
CE = 04 04 04 04 04 04 04 04
317
CF = 04 04 04 04 04 04 04 04
318
D0 = 0
319
D1 = 0
320
D2 = 0
321
D3 = 0 *
322
D4 = 04 04 04 04 04 04 04 04
323
D5 = 04 04 04 04 04 04 04 04
324
D6 = 04 04 04 04 04 04 04 04
325
D7 = 04 04 04 04 04 04 04 04
326
D8 = 0
327
D9 = 0
328
DA = 0 *
329
DB = 0 *
330
DC = 04 04 04 04 04 04 04 04 *****
331
DD = 04 04 04 04 04 04 04 04
332
DE = 04 04 04 04 04 04 04 04
333
DF = 04 04 04 04 04 04 04 04
334
E0 = 0
335
E1 = 0
336
E2 = 0
337
E3 = 0
338
E4 = 04 04 04 04 04 04 04 04
339
E5 = 04 04 04 04 04 04 04 04
340
E6 = 04 04 04 04 04 04 04 04
341
E7 = 04 04 04 04 04 04 04 04
342
E8 = 0
343
E9 = 0
344
EA = 0
345
EB = 0
346
EC = 04 04 04 04 04 04 04 04
347
ED = 04 04 04 04 04 04 04 04
348
EE = 04 04 04 04 04 04 04 04
349
EF = 04 04 04 04 04 04 04 04 *****
350
F0 = 0
351
F1 = 0
352
F2 = 0
353
F3 = 0
354
F4 = 04 04 04 04 04 04 04 04
355
F5 = 04 04 04 04 04 04 04 04
356
F6 = 04 04 04 04 04 04 04 04
357
F7 = 04 04 04 04 04 04 04 04
358
F8 = 0
359
F9 = 0
360
FA = 0
361
FB = 0
362
FC = 04 04 04 04 04 04 04 04
363
FD = 04 04 04 04 04 04 04 04
364
FE = 04 04 04 04 04 04 04 04
365
writing
in
Manufacturer Command Access Protect (B0h) <- 0x040404
366
B0 = 0
367
Device Code Read (BFh)
368
BF = 04 04 04 04 04 04 04 04 *****
369
. . .
370
371
reg p1 p2 p3 p4 p5 p6 p7 p8
372
B0 = 0
373
B1 = 0
374
B2 = 0
375
B3 = 0
376
B4 = 04 04 04 04 04 04 04 04
377
B5 = 04 04 04 04 04 04 04 04
378
B6 = 04 04 04 04 04 04 04 04
379
B7 = 04 04 04 04 04 04 04 04
380
B8 = 0
381
B9 = 0
382
BA = 0
383
BB = 0
384
BC = 04 04 04 04 04 04 04 04
385
BD = 04 04 04 04 04 04 04 04
386
BE = 04 04 04 04 04 04 04 04
387
BF = 04 04 04 04 04 04 04 04 *****
388
C0 = 0
389
C1 = 0
390
C2 = 0
391
C3 = 0
392
C4 = 04 04 04 04 04 04 04 04
393
C5 = 04 04 04 04 04 04 04 04
394
C6 = 04 04 04 04 04 04 04 04
395
C7 = 04 04 04 04 04 04 04 04
396
C8 = 0
397
C9 = 0
398
CA = 0
399
CB = 0
400
CC = 04 04 04 04 04 04 04 04
401
CD = 04 04 04 04 04 04 04 04
402
CE = 04 04 04 04 04 04 04 04
403
CF = 04 04 04 04 04 04 04 04
404
D0 = 0
405
D1 = 0
406
D2 = 0
407
D3 = 0 *
408
D4 = 04 04 04 04 04 04 04 04
409
D5 = 04 04 04 04 04 04 04 04
410
D6 = 04 04 04 04 04 04 04 04
411
D7 = 04 04 04 04 04 04 04 04
412
D8 = 0
413
D9 = 0
414
DA = 0 *
415
DB = 0 *
416
DC = 04 04 04 04 04 04 04 04 *****
417
DD = 04 04 04 04 04 04 04 04
418
DE = 04 04 04 04 04 04 04 04
419
DF = 04 04 04 04 04 04 04 04
420
E0 = 0
421
E1 = 0
422
E2 = 0
423
E3 = 0
424
E4 = 04 04 04 04 04 04 04 04
425
E5 = 04 04 04 04 04 04 04 04
426
E6 = 04 04 04 04 04 04 04 04
427
E7 = 04 04 04 04 04 04 04 04
428
E8 = 0
429
E9 = 0
430
EA = 0
431
EB = 0
432
EC = 04 04 04 04 04 04 04 04
433
ED = 04 04 04 04 04 04 04 04
434
EE = 04 04 04 04 04 04 04 04
435
EF = 04 04 04 04 04 04 04 04 *****
436
F0 = 0
437
F1 = 0
438
F2 = 0
439
F3 = 0
440
F4 = 04 04 04 04 04 04 04 04
441
F5 = 04 04 04 04 04 04 04 04
442
F6 = 04 04 04 04 04 04 04 04
443
F7 = 04 04 04 04 04 04 04 04
444
F8 = 0
445
F9 = 0
446
FA = 0
447
FB = 0
448
FC = 04 04 04 04 04 04 04 04
449
FD = 04 04 04 04 04 04 04 04
450
FE = 04 04 04 04 04 04 04 04
451
452
Unknown LCD driver chip: 0
453
***use minimal init
as
driver ili9341 ili9488 *** ->
454
Benchmark Time (microseconds)
455
Screen fill 1379996
456
Text 354280
457
Lines 3385176
458
Horiz/Vert Lines 144336
459
Rectangles (outline) 103892
460
Rectangles (filled) 3268512
461
Circles (filled) 1199776
462
Circles (outline) 1468224
463
Triangles (outline) 1073008
464
Triangles (filled) 1713196
465
Rounded rects (outline) 505872
466
Rounded rects (filled) 3790320
467
Done!!! ID reader v5.3
Вот что в MCUFRIEND_kbv LCD_ID_Reader :
, посмотрите сообщение http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=9#comment-297841 , и от #460 и дальше . там тож сначала завелось только на UTFT_v2.77b2_uno_ili9327_8bit_turbo .
поищите по форуму GT-S5233 , GT-S5230 ( собственно вы и сами знаете судя по коннектору на плате на фото . заводились эти диспы ? ).
// UTFT_v2.77b2_uno_ili9327_8bit_turbo (модифицированный UTFT) работает на адафруитской распиновке ардуинки 7823456 , а не модифицированный UTFT 01234567 , поэтому для подбора инитов UTFT надо использовать подключение 01234567 , и чистый UTFT (и надо закоментить по 50% #define DISABLE_ в файле memorysaver.h , т.к. памяти у меги328 не хватает под все иниты . при закомментировании , эти иниты подгружаются в мегу328 ) . Останется только перебирать номера от 0 до 15 в примере UTFT_Demo_400x240 , а потом на другие 50% инитов от 16 до 31 ). Или же с примера по удалять половину графики , чтоб сразу для всех раскоментированных инитов хватило памяти )
На чистом UTFT , надо на RD подкл. на +3.3в . А в доработанной либе 8bit_turbo , на пин A0 подается лог.1 (внутри либы,) , потому как на адафруитском шилде RD выведен на A0.
//// раз UTFT_v2.77b2_uno_ili9327_8bit_turbo завел его , то можно его и юзать , немного подменить данные в регистрах инита . в теме есть много решений по - инверсия цветов ( в местный поиск - инверсия цветов ) . Решений 3 - изменять регистры в ините , выбрать режим на диспе с помощью выводов IM , использовать его на 16бит (не для этого диспа).
Поковырялся с дисплеем, так и не удалось наладить инит по человечески, видимо дисп очень китайский. Взял либу UTFT_v2.77b2_uno_ili9327_8bit_turbo и пихнул инит, который использовал Tvicks в посте #634 . Вернуть цвета так и не удалось да и работает не совсем корректно. В идеале бы заставить работать с MCUFRIEND_kbv, Adafruit
01
//samsung g5233:
02
LCD_Write_COM(0xF5);
03
LCD_Write_DATA(0x12);
04
LCD_Write_DATA(0x00);
05
LCD_Write_DATA(0x0B);
06
LCD_Write_DATA(0xF0);
07
LCD_Write_DATA(0x00);
08
delay(10);
09
10
LCD_Write_COM(0x11);
11
delay(150);
12
13
LCD_Write_COM(0x3A);
14
LCD_Write_DATA(0x05);
15
16
LCD_Write_COM(0xF2);
17
LCD_Write_DATA(0x10);
18
LCD_Write_DATA(0x10);
19
LCD_Write_DATA(0x01);
20
LCD_Write_DATA(0x08);
21
LCD_Write_DATA(0x08);
22
LCD_Write_DATA(0x08);
23
LCD_Write_DATA(0x08);
24
LCD_Write_DATA(0x00);
25
LCD_Write_DATA(0x06);
26
LCD_Write_DATA(0x1A);
27
LCD_Write_DATA(0x1A);
28
29
LCD_Write_COM(0xF3);
30
LCD_Write_DATA(0x80);
31
LCD_Write_DATA(0x00);
32
LCD_Write_DATA(0x00);
33
LCD_Write_DATA(0x0B);
34
LCD_Write_DATA(0x33);
35
LCD_Write_DATA(0x7F);
36
LCD_Write_DATA(0x7F);
37
38
LCD_Write_COM(0xF4);
39
LCD_Write_DATA(0x59);
40
LCD_Write_DATA(0x59);
41
LCD_Write_DATA(0x52);
42
LCD_Write_DATA(0x52);
43
LCD_Write_DATA(0x11);
44
45
LCD_Write_COM(0xF6);
46
LCD_Write_DATA(0x00);
47
LCD_Write_DATA(0x88);
48
LCD_Write_DATA(0x10);
49
50
LCD_Write_COM(0xFD);
51
LCD_Write_DATA(0x11);
52
LCD_Write_DATA(0x01);
53
54
LCD_Write_COM(0x36);
55
LCD_Write_DATA(0x00);
56
LCD_Write_DATA(0x35);
57
LCD_Write_DATA(0x00);
58
59
LCD_Write_COM(0xF1);
60
LCD_Write_DATA(0x5A);
61
62
LCD_Write_COM(0xFF);
63
LCD_Write_DATA(0x00);
64
LCD_Write_DATA(0x00);
65
LCD_Write_DATA(0x00);
66
LCD_Write_DATA(0x40);
67
68
LCD_Write_COM(0x53);
69
LCD_Write_DATA(0x2C);
70
LCD_Write_COM(0x55);
71
LCD_Write_DATA(0x00);
72
73
LCD_Write_COM(0x29);
//display on
74
75
// break;
Вот что вышло на либе MCUFRIEND_kbv GLUE DEMO:
Подскажите плиз где в этой либе инит поковырять.?? с утфт более мене понятно, а тут..
001
#define ENABLE_BIT_DEFINITIONS // enables the bit definitions, such as PD0, CS01, WGM02..
002
#include <intrinsics.h>
003
#include <iom16.h>
004
#define F_CPU 16000000 // Only for delay calculations
005
006
#define RST PB3
007
#define RS PB2
008
#define CS PB4
009
010
#define white 0xFFFF
011
#define yellow 0xFFE0
012
#define cyan 0x07FF
013
#define green 0x07E0
014
#define purple 0xF81F
015
#define red 0xF800
016
#define blue 0x001F
017
#define black 0x0000
018
#define gray 0x7800+0x0380+0x0F
019
020
__flash
int
colorbars[8]={white,yellow,cyan,green,purple,red,blue,black};
021
022
__flash
char
font6x8[576]=
023
{0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 20
024
0x00,0x00,0x00,0x5F,0x00,0x00,
// Symbol 21
025
0x00,0x00,0x03,0x00,0x03,0x00,
// Symbol 22
026
0x22,0x7F,0x22,0x22,0x7F,0x22,
// Symbol 23
027
0x00,0x24,0x2A,0x6B,0x2A,0x12,
// Symbol 24
028
0x00,0x23,0x13,0x08,0x64,0x62,
// Symbol 25
029
0x00,0x3A,0x45,0x45,0x3A,0x28,
// Symbol 26
030
0x00,0x00,0x00,0x02,0x01,0x00,
// Symbol 27
031
0x00,0x00,0x3E,0x41,0x00,0x00,
// Symbol 28
032
0x00,0x00,0x41,0x3E,0x00,0x00,
// Symbol 29
033
0x00,0x2A,0x1C,0x1C,0x2A,0x00,
// Symbol 2A
034
0x00,0x08,0x08,0x3E,0x08,0x08,
// Symbol 2B
035
0x00,0x00,0x80,0x40,0x00,0x00,
// Symbol 2C
036
0x00,0x08,0x08,0x08,0x08,0x00,
// Symbol 2D
037
0x00,0x00,0x00,0x40,0x00,0x00,
// Symbol 2E
038
0x00,0x20,0x10,0x08,0x04,0x02,
// Symbol 2F
039
0x00,0x3E,0x51,0x49,0x45,0x3E,
// Symbol 30
040
0x00,0x00,0x42,0x7F,0x40,0x00,
// Symbol 31
041
0x00,0x62,0x51,0x51,0x51,0x4E,
// Symbol 32
042
0x00,0x21,0x41,0x45,0x45,0x3B,
// Symbol 33
043
0x00,0x18,0x16,0x11,0x7F,0x10,
// Symbol 34
044
0x00,0x27,0x45,0x45,0x45,0x39,
// Symbol 35
045
0x00,0x3E,0x49,0x49,0x49,0x32,
// Symbol 36
046
0x00,0x01,0x61,0x11,0x09,0x07,
// Symbol 37
047
0x00,0x36,0x49,0x49,0x49,0x36,
// Symbol 38
048
0x00,0x26,0x49,0x49,0x49,0x3E,
// Symbol 39
049
0x00,0x00,0x00,0x12,0x00,0x00,
// Symbol 3A
050
0x00,0x00,0x20,0x12,0x00,0x00,
// Symbol 3B
051
0x00,0x08,0x14,0x22,0x41,0x00,
// Symbol 3C
052
0x00,0x14,0x14,0x14,0x14,0x14,
// Symbol 3D
053
0x00,0x41,0x22,0x14,0x08,0x00,
// Symbol 3E
054
0x00,0x06,0x01,0x51,0x09,0x06,
// Symbol 3F
055
0x00,0x3E,0x41,0x4D,0x4D,0x2E,
// Symbol 40
056
0x00,0x78,0x16,0x11,0x16,0x78,
// Symbol 41
057
0x00,0x7F,0x49,0x49,0x49,0x36,
// Symbol 42
058
0x00,0x3E,0x41,0x41,0x41,0x22,
// Symbol 43
059
0x00,0x7F,0x41,0x41,0x41,0x3E,
// Symbol 44
060
0x00,0x7F,0x49,0x49,0x49,0x41,
// Symbol 45
061
0x00,0x7F,0x09,0x09,0x09,0x01,
// Symbol 46
062
0x00,0x3E,0x41,0x41,0x51,0x32,
// Symbol 47
063
0x00,0x7F,0x08,0x08,0x08,0x7F,
// Symbol 48
064
0x00,0x00,0x41,0x7F,0x41,0x00,
// Symbol 49
065
0x00,0x30,0x40,0x41,0x41,0x3F,
// Symbol 4A
066
0x00,0x7F,0x08,0x08,0x14,0x63,
// Symbol 4B
067
0x00,0x7F,0x40,0x40,0x40,0x60,
// Symbol 4C
068
0x00,0x7F,0x04,0x18,0x04,0x7F,
// Symbol 4D
069
0x00,0x7F,0x04,0x08,0x10,0x7F,
// Symbol 4E
070
0x00,0x3E,0x41,0x41,0x41,0x3E,
// Symbol 4F
071
0x00,0x7F,0x09,0x09,0x09,0x06,
// Symbol 50
072
0x00,0x3E,0x41,0x61,0x21,0x5E,
// Symbol 51
073
0x00,0x7F,0x09,0x09,0x19,0x66,
// Symbol 52
074
0x00,0x26,0x49,0x49,0x49,0x32,
// Symbol 53
075
0x00,0x01,0x01,0x7F,0x01,0x01,
// Symbol 54
076
0x00,0x3F,0x40,0x40,0x40,0x3F,
// Symbol 55
077
0x00,0x07,0x18,0x60,0x18,0x07,
// Symbol 56
078
0x00,0x1F,0x60,0x18,0x60,0x1F,
// Symbol 57
079
0x00,0x63,0x14,0x08,0x14,0x63,
// Symbol 58
080
0x00,0x03,0x04,0x78,0x04,0x03,
// Symbol 59
081
0x00,0x61,0x51,0x49,0x45,0x43,
// Symbol 5A
082
0x00,0x00,0x7F,0x41,0x00,0x00,
// Symbol 5B
083
0x00,0x02,0x04,0x08,0x10,0x20,
// Symbol 5C
084
0x00,0x00,0x41,0x7F,0x00,0x00,
// Symbol 5D
085
0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 5E
086
0x40,0x40,0x40,0x40,0x40,0x40,
// Symbol 5F
087
0x00,0x00,0x00,0x01,0x02,0x00,
// Symbol 60
088
0x00,0x20,0x54,0x54,0x54,0x78,
// Symbol 61
089
0x00,0x7E,0x48,0x48,0x48,0x30,
// Symbol 62
090
0x00,0x38,0x44,0x44,0x44,0x28,
// Symbol 63
091
0x00,0x30,0x48,0x48,0x48,0x7E,
// Symbol 64
092
0x00,0x38,0x54,0x54,0x54,0x18,
// Symbol 65
093
0x00,0x10,0x7C,0x12,0x02,0x04,
// Symbol 66
094
0x00,0x0C,0x52,0x52,0x3C,0x02,
// Symbol 67
095
0x00,0x7E,0x08,0x08,0x08,0x70,
// Symbol 68
096
0x00,0x00,0x00,0x74,0x00,0x00,
// Symbol 69
097
0x00,0x40,0x80,0x80,0x74,0x00,
// Symbol 6A
098
0x00,0x7E,0x10,0x10,0x10,0x6C,
// Symbol 6B
099
0x00,0x00,0x02,0x7E,0x00,0x00,
// Symbol 6C
100
0x00,0x7C,0x04,0x78,0x04,0x78,
// Symbol 6D
101
0x00,0x7C,0x04,0x04,0x04,0x78,
// Symbol 6E
102
0x00,0x38,0x44,0x44,0x44,0x38,
// Symbol 6F
103
0x00,0xFC,0x24,0x24,0x24,0x18,
// Symbol 70
104
0x00,0x18,0x24,0x24,0x24,0xFC,
// Symbol 71
105
0x00,0x7C,0x08,0x04,0x04,0x08,
// Symbol 72
106
0x00,0x48,0x54,0x54,0x54,0x20,
// Symbol 73
107
0x00,0x08,0x3E,0x48,0x40,0x00,
// Symbol 74
108
0x00,0x3C,0x40,0x40,0x40,0x3C,
// Symbol 75
109
0x00,0x1C,0x20,0x40,0x20,0x1C,
// Symbol 76
110
0x00,0x3C,0x40,0x30,0x40,0x3C,
// Symbol 77
111
0x00,0x44,0x28,0x10,0x28,0x44,
// Symbol 78
112
0x00,0x1C,0x20,0xA0,0xA0,0x7C,
// Symbol 79
113
0x00,0x44,0x64,0x54,0x4C,0x44,
// Symbol 7A
114
0x00,0x08,0x36,0x41,0x00,0x00,
// Symbol 7B
115
0x00,0x00,0x00,0x7F,0x00,0x00,
// Symbol 7C
116
0x00,0x00,0x41,0x36,0x08,0x00,
// Symbol 7D
117
0x02,0x01,0x01,0x02,0x02,0x01,
// Symbol 7E
118
0x00,0x7F,0x7F,0x7F,0x7F,0x7F};
// Symbol 7F
119
120
__flash
char
text0[]=
"Juras-Projects 2012"
;
121
__flash
char
text1[]=
"Siemens C75 LCD (ALPS)"
;
122
__flash
char
text2[]=
"176x132 pixels, 16 bit mode"
;
123
124
void
c75_alps_cmd(
char
cmd)
125
{
126
PORTB&=~(1<<RS);
// RS=0
127
SPDR=cmd;
128
__delay_cycles(16+4);
129
}
130
131
void
c75_alps_data16(
char
data_h,
char
data_l)
132
{
133
PORTB|=(1<<RS);
// RS=1
134
SPDR=data_h;
135
__delay_cycles(16+4);
136
SPDR=data_l;
137
__delay_cycles(16+4);
138
}
139
140
void
c75_alps_init(
void
)
141
{
142
__delay_cycles(F_CPU*0.1);
// delay 100ms
143
PORTB|=(1<<RST);
//Release Reset
144
__delay_cycles(F_CPU*0.057);
// delay 57ms
145
PORTB&=~(1<<CS);
// CS=0, chip selsect
146
147
c75_alps_cmd(0x00);
148
c75_alps_data16(0x00,0x01);
149
150
c75_alps_cmd(0x10);
151
c75_alps_data16(0x1F,0x92);
152
153
c75_alps_cmd(0x11);
154
c75_alps_data16(0x00,0x14);
155
156
c75_alps_cmd(0x00);
157
c75_alps_data16(0x00,0x01);
158
159
c75_alps_cmd(0x10);
160
c75_alps_data16(0x1F,0x92);
161
162
c75_alps_cmd(0x11);
163
c75_alps_data16(0x00,0x1C);
164
165
c75_alps_cmd(0x28);
166
c75_alps_data16(0x00,0x06);
167
168
c75_alps_cmd(0x02);
169
c75_alps_data16(0x00,0x00);
170
171
c75_alps_cmd(0x12);
172
c75_alps_data16(0x04,0x0F);
173
174
c75_alps_cmd(0x22);
175
176
for
(
int
j=0; j<(132*176);j++) {c75_alps_data16(0x00,0x00);}
//black
177
178
c75_alps_cmd(0x03);
//Set Entry Mode
179
c75_alps_data16(0x78,0x30);
180
181
c75_alps_cmd(0x01);
182
c75_alps_data16(0x31,0xAF);
//strange must be FF?
183
184
c75_alps_cmd(0x07);
185
c75_alps_data16(0x00,0x33);
186
187
PORTB|=(1<<CS);
// CS=1 chip deselect
188
}
189
190
void
c75_alps_put_char16(
char
x,
char
y,
char
symbol,
int
color,
int
bkcolor)
191
{
192
c75_alps_cmd(0x44);
//Y range
193
c75_alps_data16(y+7,y);
//Y2,Y1
194
195
c75_alps_cmd(0x47);
//X range
196
c75_alps_data16(x+5,x);
//X2,X1
197
198
c75_alps_cmd(0x21);
//coordinates
199
c75_alps_data16(x,y);
//X, Y
200
201
c75_alps_cmd(0x22);
202
203
int
offset=6*(symbol-0x20);
204
for
(
char
i=0;i<6;i++)
205
{
206
for
(
char
j=0;j<8;j++) {
if
(((font6x8[offset+i]<<j)&0x80)==0x80) {c75_alps_data16(color>>8,color);}
else
{c75_alps_data16(bkcolor>>8,bkcolor);}}
207
}
208
}
209
210
void
c75_alps_put_string16(
char
x,
char
y,
char
__flash * text,
int
color,
int
bkcolor)
211
{
212
char
i=0;
213
char
x0=0;
214
while
(text[i]!=0)
215
{
216
c75_alps_put_char16(x+x0,y,text[i], color , bkcolor);
217
i++;
218
x0+=6;
219
}
220
}
221
222
void
c75_alps_rect(
char
x1,
char
y1,
char
x2,
char
y2,
int
color)
223
{
224
c75_alps_cmd(0x44);
//Y range
225
c75_alps_data16(y2,y1);
//Y2,Y1
226
227
c75_alps_cmd(0x47);
//X range
228
c75_alps_data16(x2,x1);
//X2,X1
229
230
c75_alps_cmd(0x21);
//coordinates
231
c75_alps_data16(x1,y1);
//X, Y
232
233
c75_alps_cmd(0x22);
234
for
(
int
i=(y2-y1+1)*(x2-x1+1);i>0;i--) c75_alps_data16(color>>8,color);
235
}
236
237
void
main(
void
)
238
{
239
DDRB=0xFF;
//PortB is output
240
PORTB=(1<<CS)|(1<<RS);
241
SPCR=(1<<MSTR)|(1<<SPE);
//SPI Interface
242
SPSR=1;
243
c75_alps_init();
244
245
PORTB&=~(1<<CS);
// CS=0, chip selsect
246
c75_alps_put_string16(32,120,text0, white, black);
247
c75_alps_put_string16(4+3,120-10,text2, cyan, black);
248
249
c75_alps_rect(0,22,175,65,gray);
//gray box
250
251
c75_alps_rect(10,34,165,54,white);
252
c75_alps_rect(12,36,163,52,red);
253
c75_alps_put_string16(22,40,text1, white, red);
254
255
for
(
char
i=0;i<8;i++)
//draw color bars
256
{
257
c75_alps_rect(i*22,0,i*22+21,21,colorbars[i]);
258
}
259
260
for
(
char
i=0;i<16;i++)
//draw gradients
261
{
262
c75_alps_rect(i*11,66,i*11+10,75,i*2);
//blue
263
c75_alps_rect(i*11,76,i*11+10,85,(i<<6)*2);
//green
264
c75_alps_rect(i*11,86,i*11+10,95,(i<<11)*2);
//red
265
}
266
267
PORTB|=(1<<CS);
// CS=1 chip deselect
268
269
while
(1)
270
{
271
}
272
}
Ребят большая просьба, помогите переписать под ардуино.
пытаюсь запустить от simens c65 (ALPS).
Isteb, эт в тему http://arduino.ru/forumy/programmirovanie
типа перевод ( импорт ) кода с AVR Studio в Arduino IDE .
// в программировании не ас , но вот что получилось на скорую руку , компилится норм в Arduino IDE 1.8.9
001
#define RST PB3
002
#define RS PB2
003
#define CS PB4
004
005
#define white 0xFFFF
006
#define yellow 0xFFE0
007
#define cyan 0x07FF
008
#define green 0x07E0
009
#define purple 0xF81F
010
#define red 0xF800
011
#define blue 0x001F
012
#define black 0x0000
013
#define gray 0x7800+0x0380+0x0F
014
015
016
int
colorbars[8]={white,yellow,cyan,green,purple,red,blue,black};
017
018
const
PROGMEM
char
font6x8[576]=
019
{0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 20
020
0x00,0x00,0x00,0x5F,0x00,0x00,
// Symbol 21
021
0x00,0x00,0x03,0x00,0x03,0x00,
// Symbol 22
022
0x22,0x7F,0x22,0x22,0x7F,0x22,
// Symbol 23
023
0x00,0x24,0x2A,0x6B,0x2A,0x12,
// Symbol 24
024
0x00,0x23,0x13,0x08,0x64,0x62,
// Symbol 25
025
0x00,0x3A,0x45,0x45,0x3A,0x28,
// Symbol 26
026
0x00,0x00,0x00,0x02,0x01,0x00,
// Symbol 27
027
0x00,0x00,0x3E,0x41,0x00,0x00,
// Symbol 28
028
0x00,0x00,0x41,0x3E,0x00,0x00,
// Symbol 29
029
0x00,0x2A,0x1C,0x1C,0x2A,0x00,
// Symbol 2A
030
0x00,0x08,0x08,0x3E,0x08,0x08,
// Symbol 2B
031
0x00,0x00,0x80,0x40,0x00,0x00,
// Symbol 2C
032
0x00,0x08,0x08,0x08,0x08,0x00,
// Symbol 2D
033
0x00,0x00,0x00,0x40,0x00,0x00,
// Symbol 2E
034
0x00,0x20,0x10,0x08,0x04,0x02,
// Symbol 2F
035
0x00,0x3E,0x51,0x49,0x45,0x3E,
// Symbol 30
036
0x00,0x00,0x42,0x7F,0x40,0x00,
// Symbol 31
037
0x00,0x62,0x51,0x51,0x51,0x4E,
// Symbol 32
038
0x00,0x21,0x41,0x45,0x45,0x3B,
// Symbol 33
039
0x00,0x18,0x16,0x11,0x7F,0x10,
// Symbol 34
040
0x00,0x27,0x45,0x45,0x45,0x39,
// Symbol 35
041
0x00,0x3E,0x49,0x49,0x49,0x32,
// Symbol 36
042
0x00,0x01,0x61,0x11,0x09,0x07,
// Symbol 37
043
0x00,0x36,0x49,0x49,0x49,0x36,
// Symbol 38
044
0x00,0x26,0x49,0x49,0x49,0x3E,
// Symbol 39
045
0x00,0x00,0x00,0x12,0x00,0x00,
// Symbol 3A
046
0x00,0x00,0x20,0x12,0x00,0x00,
// Symbol 3B
047
0x00,0x08,0x14,0x22,0x41,0x00,
// Symbol 3C
048
0x00,0x14,0x14,0x14,0x14,0x14,
// Symbol 3D
049
0x00,0x41,0x22,0x14,0x08,0x00,
// Symbol 3E
050
0x00,0x06,0x01,0x51,0x09,0x06,
// Symbol 3F
051
0x00,0x3E,0x41,0x4D,0x4D,0x2E,
// Symbol 40
052
0x00,0x78,0x16,0x11,0x16,0x78,
// Symbol 41
053
0x00,0x7F,0x49,0x49,0x49,0x36,
// Symbol 42
054
0x00,0x3E,0x41,0x41,0x41,0x22,
// Symbol 43
055
0x00,0x7F,0x41,0x41,0x41,0x3E,
// Symbol 44
056
0x00,0x7F,0x49,0x49,0x49,0x41,
// Symbol 45
057
0x00,0x7F,0x09,0x09,0x09,0x01,
// Symbol 46
058
0x00,0x3E,0x41,0x41,0x51,0x32,
// Symbol 47
059
0x00,0x7F,0x08,0x08,0x08,0x7F,
// Symbol 48
060
0x00,0x00,0x41,0x7F,0x41,0x00,
// Symbol 49
061
0x00,0x30,0x40,0x41,0x41,0x3F,
// Symbol 4A
062
0x00,0x7F,0x08,0x08,0x14,0x63,
// Symbol 4B
063
0x00,0x7F,0x40,0x40,0x40,0x60,
// Symbol 4C
064
0x00,0x7F,0x04,0x18,0x04,0x7F,
// Symbol 4D
065
0x00,0x7F,0x04,0x08,0x10,0x7F,
// Symbol 4E
066
0x00,0x3E,0x41,0x41,0x41,0x3E,
// Symbol 4F
067
0x00,0x7F,0x09,0x09,0x09,0x06,
// Symbol 50
068
0x00,0x3E,0x41,0x61,0x21,0x5E,
// Symbol 51
069
0x00,0x7F,0x09,0x09,0x19,0x66,
// Symbol 52
070
0x00,0x26,0x49,0x49,0x49,0x32,
// Symbol 53
071
0x00,0x01,0x01,0x7F,0x01,0x01,
// Symbol 54
072
0x00,0x3F,0x40,0x40,0x40,0x3F,
// Symbol 55
073
0x00,0x07,0x18,0x60,0x18,0x07,
// Symbol 56
074
0x00,0x1F,0x60,0x18,0x60,0x1F,
// Symbol 57
075
0x00,0x63,0x14,0x08,0x14,0x63,
// Symbol 58
076
0x00,0x03,0x04,0x78,0x04,0x03,
// Symbol 59
077
0x00,0x61,0x51,0x49,0x45,0x43,
// Symbol 5A
078
0x00,0x00,0x7F,0x41,0x00,0x00,
// Symbol 5B
079
0x00,0x02,0x04,0x08,0x10,0x20,
// Symbol 5C
080
0x00,0x00,0x41,0x7F,0x00,0x00,
// Symbol 5D
081
0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 5E
082
0x40,0x40,0x40,0x40,0x40,0x40,
// Symbol 5F
083
0x00,0x00,0x00,0x01,0x02,0x00,
// Symbol 60
084
0x00,0x20,0x54,0x54,0x54,0x78,
// Symbol 61
085
0x00,0x7E,0x48,0x48,0x48,0x30,
// Symbol 62
086
0x00,0x38,0x44,0x44,0x44,0x28,
// Symbol 63
087
0x00,0x30,0x48,0x48,0x48,0x7E,
// Symbol 64
088
0x00,0x38,0x54,0x54,0x54,0x18,
// Symbol 65
089
0x00,0x10,0x7C,0x12,0x02,0x04,
// Symbol 66
090
0x00,0x0C,0x52,0x52,0x3C,0x02,
// Symbol 67
091
0x00,0x7E,0x08,0x08,0x08,0x70,
// Symbol 68
092
0x00,0x00,0x00,0x74,0x00,0x00,
// Symbol 69
093
0x00,0x40,0x80,0x80,0x74,0x00,
// Symbol 6A
094
0x00,0x7E,0x10,0x10,0x10,0x6C,
// Symbol 6B
095
0x00,0x00,0x02,0x7E,0x00,0x00,
// Symbol 6C
096
0x00,0x7C,0x04,0x78,0x04,0x78,
// Symbol 6D
097
0x00,0x7C,0x04,0x04,0x04,0x78,
// Symbol 6E
098
0x00,0x38,0x44,0x44,0x44,0x38,
// Symbol 6F
099
0x00,0xFC,0x24,0x24,0x24,0x18,
// Symbol 70
100
0x00,0x18,0x24,0x24,0x24,0xFC,
// Symbol 71
101
0x00,0x7C,0x08,0x04,0x04,0x08,
// Symbol 72
102
0x00,0x48,0x54,0x54,0x54,0x20,
// Symbol 73
103
0x00,0x08,0x3E,0x48,0x40,0x00,
// Symbol 74
104
0x00,0x3C,0x40,0x40,0x40,0x3C,
// Symbol 75
105
0x00,0x1C,0x20,0x40,0x20,0x1C,
// Symbol 76
106
0x00,0x3C,0x40,0x30,0x40,0x3C,
// Symbol 77
107
0x00,0x44,0x28,0x10,0x28,0x44,
// Symbol 78
108
0x00,0x1C,0x20,0xA0,0xA0,0x7C,
// Symbol 79
109
0x00,0x44,0x64,0x54,0x4C,0x44,
// Symbol 7A
110
0x00,0x08,0x36,0x41,0x00,0x00,
// Symbol 7B
111
0x00,0x00,0x00,0x7F,0x00,0x00,
// Symbol 7C
112
0x00,0x00,0x41,0x36,0x08,0x00,
// Symbol 7D
113
0x02,0x01,0x01,0x02,0x02,0x01,
// Symbol 7E
114
0x00,0x7F,0x7F,0x7F,0x7F,0x7F};
// Symbol 7F
115
116
char
text0[]=
"Juras-Projects 2012"
;
117
char
text1[]=
"Siemens C75 LCD (ALPS)"
;
118
char
text2[]=
"176x132 pixels, 16 bit mode"
;
119
120
void
c75_alps_cmd(
char
cmd)
121
{
122
PORTB&=~(1<<RS);
// RS=0
123
SPDR=cmd;
124
// __delay_cycles(16+4);
125
delayMicroseconds(2);
126
}
127
128
void
c75_alps_data16(
char
data_h,
char
data_l)
129
{
130
PORTB|=(1<<RS);
// RS=1
131
SPDR=data_h;
132
// __delay_cycles(16+4);
133
delayMicroseconds(2);
134
SPDR=data_l;
135
// __delay_cycles(16+4);
136
delayMicroseconds(2);
137
}
138
139
void
c75_alps_init(
void
)
140
{
141
//__delay_cycles(F_CPU*0.1);// delay 100ms
142
delay(100);
143
PORTB|=(1<<RST);
//Release Reset
144
// __delay_cycles(F_CPU*0.057);// delay 57ms
145
delay(57);
146
PORTB&=~(1<<CS);
// CS=0, chip selsect
147
148
c75_alps_cmd(0x00);
149
c75_alps_data16(0x00,0x01);
150
151
c75_alps_cmd(0x10);
152
c75_alps_data16(0x1F,0x92);
153
154
c75_alps_cmd(0x11);
155
c75_alps_data16(0x00,0x14);
156
157
c75_alps_cmd(0x00);
158
c75_alps_data16(0x00,0x01);
159
160
c75_alps_cmd(0x10);
161
c75_alps_data16(0x1F,0x92);
162
163
c75_alps_cmd(0x11);
164
c75_alps_data16(0x00,0x1C);
165
166
c75_alps_cmd(0x28);
167
c75_alps_data16(0x00,0x06);
168
169
c75_alps_cmd(0x02);
170
c75_alps_data16(0x00,0x00);
171
172
c75_alps_cmd(0x12);
173
c75_alps_data16(0x04,0x0F);
174
175
c75_alps_cmd(0x22);
176
177
for
(
int
j=0; j<(132*176);j++) {c75_alps_data16(0x00,0x00);}
//black
178
179
c75_alps_cmd(0x03);
//Set Entry Mode
180
c75_alps_data16(0x78,0x30);
181
182
c75_alps_cmd(0x01);
183
c75_alps_data16(0x31,0xAF);
//strange must be FF?
184
185
c75_alps_cmd(0x07);
186
c75_alps_data16(0x00,0x33);
187
188
PORTB|=(1<<CS);
// CS=1 chip deselect
189
}
190
191
void
c75_alps_put_char16(
char
x,
char
y,
char
symbol,
int
color,
int
bkcolor)
192
{
193
c75_alps_cmd(0x44);
//Y range
194
c75_alps_data16(y+7,y);
//Y2,Y1
195
196
c75_alps_cmd(0x47);
//X range
197
c75_alps_data16(x+5,x);
//X2,X1
198
199
c75_alps_cmd(0x21);
//coordinates
200
c75_alps_data16(x,y);
//X, Y
201
202
c75_alps_cmd(0x22);
203
204
int
offset=6*(symbol-0x20);
205
for
(
char
i=0;i<6;i++)
206
{
207
for
(
char
j=0;j<8;j++) {
if
(((font6x8[offset+i]<<j)&0x80)==0x80) {c75_alps_data16(color>>8,color);}
else
{c75_alps_data16(bkcolor>>8,bkcolor);}}
208
}
209
}
210
211
void
c75_alps_put_string16(
char
x,
char
y,
char
*text,
int
color,
int
bkcolor)
212
{
213
char
i=0;
214
char
x0=0;
215
while
(text[i]!=0)
216
{
217
c75_alps_put_char16(x+x0,y,text[i], color , bkcolor);
218
i++;
219
x0+=6;
220
}
221
}
222
223
void
c75_alps_rect(
char
x1,
char
y1,
char
x2,
char
y2,
int
color)
224
{
225
c75_alps_cmd(0x44);
//Y range
226
c75_alps_data16(y2,y1);
//Y2,Y1
227
228
c75_alps_cmd(0x47);
//X range
229
c75_alps_data16(x2,x1);
//X2,X1
230
231
c75_alps_cmd(0x21);
//coordinates
232
c75_alps_data16(x1,y1);
//X, Y
233
234
c75_alps_cmd(0x22);
235
for
(
int
i=(y2-y1+1)*(x2-x1+1);i>0;i--) c75_alps_data16(color>>8,color);
236
}
237
238
void
setup
()
239
{
240
DDRB=0xFF;
//PortB is output
241
PORTB=(1<<CS)|(1<<RS);
242
SPCR=(1<<MSTR)|(1<<SPE);
//SPI Interface
243
SPSR=1;
244
c75_alps_init();
245
246
PORTB&=~(1<<CS);
// CS=0, chip selsect
247
c75_alps_put_string16(32,120,text0, white, black);
248
c75_alps_put_string16(4+3,120-10,text2, cyan, black);
249
250
c75_alps_rect(0,22,175,65,gray);
//gray box
251
252
c75_alps_rect(10,34,165,54,white);
253
c75_alps_rect(12,36,163,52,red);
254
c75_alps_put_string16(22,40,text1, white, red);
255
256
for
(
char
i=0;i<8;i++)
//draw color bars
257
{
258
c75_alps_rect(i*22,0,i*22+21,21,colorbars[i]);
259
}
260
261
for
(
char
i=0;i<16;i++)
//draw gradients
262
{
263
c75_alps_rect(i*11,66,i*11+10,75,i*2);
//blue
264
c75_alps_rect(i*11,76,i*11+10,85,(i<<6)*2);
//green
265
c75_alps_rect(i*11,86,i*11+10,95,(i<<11)*2);
//red
266
}
267
268
PORTB|=(1<<CS);
// CS=1 chip deselect
269
270
// while(1)
271
// {
272
// }
273
274
}
275
276
277
void
loop
()
278
{
279
// put your main code here, to run repeatedly:
280
281
}
иль вот , где все __flash перенесены в const PROGMEM
001
#define RST PB3
002
#define RS PB2
003
#define CS PB4
004
005
#define white 0xFFFF
006
#define yellow 0xFFE0
007
#define cyan 0x07FF
008
#define green 0x07E0
009
#define purple 0xF81F
010
#define red 0xF800
011
#define blue 0x001F
012
#define black 0x0000
013
#define gray 0x7800+0x0380+0x0F
014
015
016
int
const
PROGMEM colorbars[8]={white,yellow,cyan,green,purple,red,blue,black};
017
018
const
PROGMEM
char
font6x8[576]=
019
{0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 20
020
0x00,0x00,0x00,0x5F,0x00,0x00,
// Symbol 21
021
0x00,0x00,0x03,0x00,0x03,0x00,
// Symbol 22
022
0x22,0x7F,0x22,0x22,0x7F,0x22,
// Symbol 23
023
0x00,0x24,0x2A,0x6B,0x2A,0x12,
// Symbol 24
024
0x00,0x23,0x13,0x08,0x64,0x62,
// Symbol 25
025
0x00,0x3A,0x45,0x45,0x3A,0x28,
// Symbol 26
026
0x00,0x00,0x00,0x02,0x01,0x00,
// Symbol 27
027
0x00,0x00,0x3E,0x41,0x00,0x00,
// Symbol 28
028
0x00,0x00,0x41,0x3E,0x00,0x00,
// Symbol 29
029
0x00,0x2A,0x1C,0x1C,0x2A,0x00,
// Symbol 2A
030
0x00,0x08,0x08,0x3E,0x08,0x08,
// Symbol 2B
031
0x00,0x00,0x80,0x40,0x00,0x00,
// Symbol 2C
032
0x00,0x08,0x08,0x08,0x08,0x00,
// Symbol 2D
033
0x00,0x00,0x00,0x40,0x00,0x00,
// Symbol 2E
034
0x00,0x20,0x10,0x08,0x04,0x02,
// Symbol 2F
035
0x00,0x3E,0x51,0x49,0x45,0x3E,
// Symbol 30
036
0x00,0x00,0x42,0x7F,0x40,0x00,
// Symbol 31
037
0x00,0x62,0x51,0x51,0x51,0x4E,
// Symbol 32
038
0x00,0x21,0x41,0x45,0x45,0x3B,
// Symbol 33
039
0x00,0x18,0x16,0x11,0x7F,0x10,
// Symbol 34
040
0x00,0x27,0x45,0x45,0x45,0x39,
// Symbol 35
041
0x00,0x3E,0x49,0x49,0x49,0x32,
// Symbol 36
042
0x00,0x01,0x61,0x11,0x09,0x07,
// Symbol 37
043
0x00,0x36,0x49,0x49,0x49,0x36,
// Symbol 38
044
0x00,0x26,0x49,0x49,0x49,0x3E,
// Symbol 39
045
0x00,0x00,0x00,0x12,0x00,0x00,
// Symbol 3A
046
0x00,0x00,0x20,0x12,0x00,0x00,
// Symbol 3B
047
0x00,0x08,0x14,0x22,0x41,0x00,
// Symbol 3C
048
0x00,0x14,0x14,0x14,0x14,0x14,
// Symbol 3D
049
0x00,0x41,0x22,0x14,0x08,0x00,
// Symbol 3E
050
0x00,0x06,0x01,0x51,0x09,0x06,
// Symbol 3F
051
0x00,0x3E,0x41,0x4D,0x4D,0x2E,
// Symbol 40
052
0x00,0x78,0x16,0x11,0x16,0x78,
// Symbol 41
053
0x00,0x7F,0x49,0x49,0x49,0x36,
// Symbol 42
054
0x00,0x3E,0x41,0x41,0x41,0x22,
// Symbol 43
055
0x00,0x7F,0x41,0x41,0x41,0x3E,
// Symbol 44
056
0x00,0x7F,0x49,0x49,0x49,0x41,
// Symbol 45
057
0x00,0x7F,0x09,0x09,0x09,0x01,
// Symbol 46
058
0x00,0x3E,0x41,0x41,0x51,0x32,
// Symbol 47
059
0x00,0x7F,0x08,0x08,0x08,0x7F,
// Symbol 48
060
0x00,0x00,0x41,0x7F,0x41,0x00,
// Symbol 49
061
0x00,0x30,0x40,0x41,0x41,0x3F,
// Symbol 4A
062
0x00,0x7F,0x08,0x08,0x14,0x63,
// Symbol 4B
063
0x00,0x7F,0x40,0x40,0x40,0x60,
// Symbol 4C
064
0x00,0x7F,0x04,0x18,0x04,0x7F,
// Symbol 4D
065
0x00,0x7F,0x04,0x08,0x10,0x7F,
// Symbol 4E
066
0x00,0x3E,0x41,0x41,0x41,0x3E,
// Symbol 4F
067
0x00,0x7F,0x09,0x09,0x09,0x06,
// Symbol 50
068
0x00,0x3E,0x41,0x61,0x21,0x5E,
// Symbol 51
069
0x00,0x7F,0x09,0x09,0x19,0x66,
// Symbol 52
070
0x00,0x26,0x49,0x49,0x49,0x32,
// Symbol 53
071
0x00,0x01,0x01,0x7F,0x01,0x01,
// Symbol 54
072
0x00,0x3F,0x40,0x40,0x40,0x3F,
// Symbol 55
073
0x00,0x07,0x18,0x60,0x18,0x07,
// Symbol 56
074
0x00,0x1F,0x60,0x18,0x60,0x1F,
// Symbol 57
075
0x00,0x63,0x14,0x08,0x14,0x63,
// Symbol 58
076
0x00,0x03,0x04,0x78,0x04,0x03,
// Symbol 59
077
0x00,0x61,0x51,0x49,0x45,0x43,
// Symbol 5A
078
0x00,0x00,0x7F,0x41,0x00,0x00,
// Symbol 5B
079
0x00,0x02,0x04,0x08,0x10,0x20,
// Symbol 5C
080
0x00,0x00,0x41,0x7F,0x00,0x00,
// Symbol 5D
081
0x00,0x00,0x00,0x00,0x00,0x00,
// Symbol 5E
082
0x40,0x40,0x40,0x40,0x40,0x40,
// Symbol 5F
083
0x00,0x00,0x00,0x01,0x02,0x00,
// Symbol 60
084
0x00,0x20,0x54,0x54,0x54,0x78,
// Symbol 61
085
0x00,0x7E,0x48,0x48,0x48,0x30,
// Symbol 62
086
0x00,0x38,0x44,0x44,0x44,0x28,
// Symbol 63
087
0x00,0x30,0x48,0x48,0x48,0x7E,
// Symbol 64
088
0x00,0x38,0x54,0x54,0x54,0x18,
// Symbol 65
089
0x00,0x10,0x7C,0x12,0x02,0x04,
// Symbol 66
090
0x00,0x0C,0x52,0x52,0x3C,0x02,
// Symbol 67
091
0x00,0x7E,0x08,0x08,0x08,0x70,
// Symbol 68
092
0x00,0x00,0x00,0x74,0x00,0x00,
// Symbol 69
093
0x00,0x40,0x80,0x80,0x74,0x00,
// Symbol 6A
094
0x00,0x7E,0x10,0x10,0x10,0x6C,
// Symbol 6B
095
0x00,0x00,0x02,0x7E,0x00,0x00,
// Symbol 6C
096
0x00,0x7C,0x04,0x78,0x04,0x78,
// Symbol 6D
097
0x00,0x7C,0x04,0x04,0x04,0x78,
// Symbol 6E
098
0x00,0x38,0x44,0x44,0x44,0x38,
// Symbol 6F
099
0x00,0xFC,0x24,0x24,0x24,0x18,
// Symbol 70
100
0x00,0x18,0x24,0x24,0x24,0xFC,
// Symbol 71
101
0x00,0x7C,0x08,0x04,0x04,0x08,
// Symbol 72
102
0x00,0x48,0x54,0x54,0x54,0x20,
// Symbol 73
103
0x00,0x08,0x3E,0x48,0x40,0x00,
// Symbol 74
104
0x00,0x3C,0x40,0x40,0x40,0x3C,
// Symbol 75
105
0x00,0x1C,0x20,0x40,0x20,0x1C,
// Symbol 76
106
0x00,0x3C,0x40,0x30,0x40,0x3C,
// Symbol 77
107
0x00,0x44,0x28,0x10,0x28,0x44,
// Symbol 78
108
0x00,0x1C,0x20,0xA0,0xA0,0x7C,
// Symbol 79
109
0x00,0x44,0x64,0x54,0x4C,0x44,
// Symbol 7A
110
0x00,0x08,0x36,0x41,0x00,0x00,
// Symbol 7B
111
0x00,0x00,0x00,0x7F,0x00,0x00,
// Symbol 7C
112
0x00,0x00,0x41,0x36,0x08,0x00,
// Symbol 7D
113
0x02,0x01,0x01,0x02,0x02,0x01,
// Symbol 7E
114
0x00,0x7F,0x7F,0x7F,0x7F,0x7F};
// Symbol 7F
115
116
const
PROGMEM
char
text0[]=
"Juras-Projects 2012"
;
117
const
PROGMEM
char
text1[]=
"Siemens C75 LCD (ALPS)"
;
118
const
PROGMEM
char
text2[]=
"176x132 pixels, 16 bit mode"
;
119
120
void
c75_alps_cmd(
char
cmd)
121
{
122
PORTB&=~(1<<RS);
// RS=0
123
SPDR=cmd;
124
// __delay_cycles(16+4);
125
delayMicroseconds(2);
126
}
127
128
void
c75_alps_data16(
char
data_h,
char
data_l)
129
{
130
PORTB|=(1<<RS);
// RS=1
131
SPDR=data_h;
132
// __delay_cycles(16+4);
133
delayMicroseconds(2);
134
SPDR=data_l;
135
// __delay_cycles(16+4);
136
delayMicroseconds(2);
137
}
138
139
void
c75_alps_init(
void
)
140
{
141
//__delay_cycles(F_CPU*0.1);// delay 100ms
142
delay(100);
143
PORTB|=(1<<RST);
//Release Reset
144
// __delay_cycles(F_CPU*0.057);// delay 57ms
145
delay(57);
146
PORTB&=~(1<<CS);
// CS=0, chip selsect
147
148
c75_alps_cmd(0x00);
149
c75_alps_data16(0x00,0x01);
150
151
c75_alps_cmd(0x10);
152
c75_alps_data16(0x1F,0x92);
153
154
c75_alps_cmd(0x11);
155
c75_alps_data16(0x00,0x14);
156
157
c75_alps_cmd(0x00);
158
c75_alps_data16(0x00,0x01);
159
160
c75_alps_cmd(0x10);
161
c75_alps_data16(0x1F,0x92);
162
163
c75_alps_cmd(0x11);
164
c75_alps_data16(0x00,0x1C);
165
166
c75_alps_cmd(0x28);
167
c75_alps_data16(0x00,0x06);
168
169
c75_alps_cmd(0x02);
170
c75_alps_data16(0x00,0x00);
171
172
c75_alps_cmd(0x12);
173
c75_alps_data16(0x04,0x0F);
174
175
c75_alps_cmd(0x22);
176
177
for
(
int
j=0; j<(132*176);j++) {c75_alps_data16(0x00,0x00);}
//black
178
179
c75_alps_cmd(0x03);
//Set Entry Mode
180
c75_alps_data16(0x78,0x30);
181
182
c75_alps_cmd(0x01);
183
c75_alps_data16(0x31,0xAF);
//strange must be FF?
184
185
c75_alps_cmd(0x07);
186
c75_alps_data16(0x00,0x33);
187
188
PORTB|=(1<<CS);
// CS=1 chip deselect
189
}
190
191
void
c75_alps_put_char16(
char
x,
char
y,
char
symbol,
int
color,
int
bkcolor)
192
{
193
c75_alps_cmd(0x44);
//Y range
194
c75_alps_data16(y+7,y);
//Y2,Y1
195
196
c75_alps_cmd(0x47);
//X range
197
c75_alps_data16(x+5,x);
//X2,X1
198
199
c75_alps_cmd(0x21);
//coordinates
200
c75_alps_data16(x,y);
//X, Y
201
202
c75_alps_cmd(0x22);
203
204
int
offset=6*(symbol-0x20);
205
for
(
char
i=0;i<6;i++)
206
{
207
for
(
char
j=0;j<8;j++) {
if
(((font6x8[offset+i]<<j)&0x80)==0x80) {c75_alps_data16(color>>8,color);}
else
{c75_alps_data16(bkcolor>>8,bkcolor);}}
208
}
209
}
210
211
void
c75_alps_put_string16(
char
x,
char
y,
char
*text,
int
color,
int
bkcolor)
212
{
213
char
i=0;
214
char
x0=0;
215
while
(text[i]!=0)
216
{
217
c75_alps_put_char16(x+x0,y,text[i], color , bkcolor);
218
i++;
219
x0+=6;
220
}
221
}
222
223
void
c75_alps_rect(
char
x1,
char
y1,
char
x2,
char
y2,
int
color)
224
{
225
c75_alps_cmd(0x44);
//Y range
226
c75_alps_data16(y2,y1);
//Y2,Y1
227
228
c75_alps_cmd(0x47);
//X range
229
c75_alps_data16(x2,x1);
//X2,X1
230
231
c75_alps_cmd(0x21);
//coordinates
232
c75_alps_data16(x1,y1);
//X, Y
233
234
c75_alps_cmd(0x22);
235
for
(
int
i=(y2-y1+1)*(x2-x1+1);i>0;i--) c75_alps_data16(color>>8,color);
236
}
237
238
void
setup
()
239
{
240
DDRB=0xFF;
//PortB is output
241
PORTB=(1<<CS)|(1<<RS);
242
SPCR=(1<<MSTR)|(1<<SPE);
//SPI Interface
243
SPSR=1;
244
c75_alps_init();
245
246
PORTB&=~(1<<CS);
// CS=0, chip selsect
247
c75_alps_put_string16(32,120,text0, white, black);
248
c75_alps_put_string16(4+3,120-10,text2, cyan, black);
249
250
c75_alps_rect(0,22,175,65,gray);
//gray box
251
252
c75_alps_rect(10,34,165,54,white);
253
c75_alps_rect(12,36,163,52,red);
254
c75_alps_put_string16(22,40,text1, white, red);
255
256
for
(
char
i=0;i<8;i++)
//draw color bars
257
{
258
c75_alps_rect(i*22,0,i*22+21,21,colorbars[i]);
259
}
260
261
for
(
char
i=0;i<16;i++)
//draw gradients
262
{
263
c75_alps_rect(i*11,66,i*11+10,75,i*2);
//blue
264
c75_alps_rect(i*11,76,i*11+10,85,(i<<6)*2);
//green
265
c75_alps_rect(i*11,86,i*11+10,95,(i<<11)*2);
//red
266
}
267
268
PORTB|=(1<<CS);
// CS=1 chip deselect
269
270
// while(1)
271
// {
272
// }
273
274
}
275
276
277
void
loop
()
278
{
279
// put your main code here, to run repeatedly:
280
281
}
282
283
284
aleksl, надо было по файлам либы полазить.
а что вам ответили скетчи LCD_ID_Read(new) в монитор порта ? ( подключение DB0-7 соответственно 7823456 ) какой id он нашел, тот и искать в файле либы MCUFRIEND_kbv.cpp , там же и можно ( вверху файла ) отключить иниты которыми не пользуетесь , для экономии .
// ответ можно скопировать из терминала Ctrl+A Ctrl+C ) и проложить сюда с галкой - сворачивать код по умолчанию
В случае GLUE_Demo_400x240 , какой контроллер прописали в UTFTGLUE myGLCD(.....,A2,A1,A3,A4,A0) , инит того и найдете в MCUFRIEND_kbv.cpp
slider, ( подключение DB0-7 соответственно 7823456 ) вы имели ввиду 89234567?
01
Read Registers on MCUFRIEND UNO shield
02
controllers either read
as
single 16-bit
03
e.g. the ID
is
at readReg(0)
04
or
as
a sequence of 8-bit values
05
in
special locations (first
is
dummy)
06
07
diagnose any controller
08
reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
09
reg(0x0004) 00 00 00 00 Manufacturer ID
10
reg(0x0009) 00 00 00 00 00 Status Register
11
reg(0x000A) 00 00 Get Powsr Mode
12
reg(0x000C) 00 00 Get Pixel Format
13
reg(0x0030) 00 00 00 00 00 PTLAR
14
reg(0x0033) 00 00 00 00 00 00 00 VSCRLDEF
15
reg(0x0061) 00 00 RDID1 HX8347-G
16
reg(0x0062) 00 00 RDID2 HX8347-G
17
reg(0x0063) 00 00 RDID3 HX8347-G
18
reg(0x0064) 00 00 RDID1 HX8347-A
19
reg(0x0065) 00 00 RDID2 HX8347-A
20
reg(0x0066) 00 00 RDID3 HX8347-A
21
reg(0x0067) 00 00 RDID Himax HX8347-A
22
reg(0x0070) 00 00 Panel Himax HX8347-A
23
reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963
24
reg(0x00B0) 00 00 RGB Interface Signal Control
25
reg(0x00B3) 00 00 00 00 00 Frame Memory
26
reg(0x00B4) 00 00 Frame Mode
27
reg(0x00B6) 00 00 00 00 00 Display Control
28
reg(0x00B7) 00 00 Entry Mode Set
29
reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B
30
reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control
31
reg(0x00C1) 00 00 00 00 Display Timing
32
reg(0x00C5) 00 00 Frame Rate
33
reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA
34
reg(0x00CC) 00 00 Panel Control
35
reg(0x00D0) 00 00 00 00 Power Control
36
reg(0x00D1) 00 00 00 00 VCOM Control
37
reg(0x00D2) 00 00 00 Power Normal
38
reg(0x00D3) 00 00 00 00 ILI9341, ILI9488
39
reg(0x00D4) 00 00 00 00 Novatek
40
reg(0x00DA) 00 00 RDID1
41
reg(0x00DB) 00 00 RDID2
42
reg(0x00DC) 00 00 RDID3
43
reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P
44
reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N
45
reg(0x00EF) 00 00 00 00 00 00 ILI9327
46
reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2
47
reg(0x00F6) 00 00 00 00 Interface Control
Очень странно, но LCD_ID_Read(new)ничего не показывает.
В UTFTGLUE myGLCD(.....,A2,A1,A3,A4,A0) прописывал ili9327 UTFT myGLCD(0x9327,A2,A1,A3,A4);
В MCUFRIEND_kbv
вручную выбирал тот же контроллер, бестолку
Очень странные дела.. при запуске GLUE_Demo_400x240 UTFTGLUE myGLCD(0x9327,A2,A1,A3,A4,A0); -черный экран, но если снять D7 и поставить обратно то :
А вот так, если поменять пины D0 и D1 местами:
Еще раз перепроверил подключение, все в соответствии со схемой мобилки..
Уже ничего не понимаю... на простой UTFT не заводится на ините ili9327, даже если вручную подменить инит на :
01
//samsung g5233:
02
LCD_Write_COM(0xF5);
//sleep out
03
LCD_Write_DATA(0x12);
04
LCD_Write_DATA(0x00);
05
LCD_Write_DATA(0x0B);
06
LCD_Write_DATA(0xF0);
07
LCD_Write_DATA(0x00);
08
delay(10);
09
10
LCD_Write_COM(0x11);
//Exit Sleep
11
delay(150);
12
13
LCD_Write_COM(0x3A);
14
LCD_Write_DATA(0x05);
15
16
LCD_Write_COM(0xF2);
17
LCD_Write_DATA(0x10);
18
LCD_Write_DATA(0x10);
19
LCD_Write_DATA(0x01);
20
LCD_Write_DATA(0x08);
21
LCD_Write_DATA(0x08);
22
LCD_Write_DATA(0x08);
23
LCD_Write_DATA(0x08);
24
LCD_Write_DATA(0x00);
25
LCD_Write_DATA(0x06);
// 04 НИЗ def00 !!!!! 2экрана
26
LCD_Write_DATA(0x1A);
27
LCD_Write_DATA(0x1A);
28
29
LCD_Write_COM(0xF3);
30
LCD_Write_DATA(0x80);
31
LCD_Write_DATA(0x00);
32
LCD_Write_DATA(0x00);
33
LCD_Write_DATA(0x0B);
34
LCD_Write_DATA(0x33);
35
LCD_Write_DATA(0x7F);
36
LCD_Write_DATA(0x7F);
37
38
LCD_Write_COM(0xF4);
39
LCD_Write_DATA(0x59);
40
LCD_Write_DATA(0x59);
41
LCD_Write_DATA(0x52);
42
LCD_Write_DATA(0x52);
43
LCD_Write_DATA(0x11);
44
45
LCD_Write_COM(0xF6);
46
LCD_Write_DATA(0x00);
// Перемещение по X Y
47
LCD_Write_DATA(0x88);
//
48
LCD_Write_DATA(0x10);
49
50
LCD_Write_COM(0xFD);
//
51
LCD_Write_DATA(0x11);
52
LCD_Write_DATA(0x01);
53
54
LCD_Write_COM(0x36);
//36 Ориентация верх-низ дисплея
55
LCD_Write_DATA(0x08);
//Шлейф внизу - 0,0 вверху справа 14 RGB (14;C0;60;A0 поворот на 180)
56
57
LCD_Write_COM(0x35);
58
LCD_Write_DATA(0x00);
59
60
LCD_Write_COM(0xF1);
//
61
LCD_Write_DATA(0x5A);
62
63
LCD_Write_COM(0xFF);
//
64
LCD_Write_DATA(0x00);
65
LCD_Write_DATA(0x00);
66
LCD_Write_DATA(0x00);
67
LCD_Write_DATA(0x40);
68
69
LCD_Write_COM(0x53);
70
LCD_Write_DATA(0x2C);
71
LCD_Write_COM(0x55);
72
LCD_Write_DATA(0x00);
73
74
LCD_Write_COM(0x29);
//display on
75
LCD_Write_COM(0x2C);
76
// break;
на либе UTFT_v2.77b2_uno_ili9327_8bit_turbo заводится сходу на UTFT_Demo_400x240 из примера без каких либо настроек
Снял резисторы на минус с делителя напряжения на выводх, теперь в читалках:
001
v5.3 read all register + read ID + TFT LCD test
002
for
8bit TFT LCD UNO shield pinout Adafruit D89234567
003
on board Arduino UNO & Arduino MEGA
004
TFT size
set
is
320x240
005
include LCD drivers: ILI9325 ILI9328 HX8347G HX8347D* HX8357D ILI9341
006
v5.3 B0h <- 0xFFFFFF <- 0x040404 from Slider
007
<a href=
"http://www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov"
title=
"www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov"
rel=
"nofollow"
>www.arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mob...</a>
008
009
reg p1 p2 p3 p4 p5 p6 p7 p8
010
00 = 0 *
011
01 = 0
012
02 = 0
013
03 = 0
014
04 = 0 *
015
05 = 0
016
06 = 0
017
07 = 0
018
08 = 0
019
09 = 0
020
0A = 00 08 08 08 08 08 08 08
021
0B = 0
022
0C = 00 05 55 55 55 55 55 55
023
0D = 0
024
0E = 0
025
0F = 0
026
10 = 0
027
11 = 0
028
12 = 0
029
13 = 0
030
14 = 0
031
15 = 0
032
16 = 0
033
17 = 0
034
18 = 0
035
19 = 0
036
1A = 0
037
1B = 0
038
1C = 0
039
1D = 0
040
1E = 0
041
1F = 0
042
20 = 0
043
21 = 0
044
22 = 0
045
23 = 0
046
24 = 0
047
25 = 0
048
26 = 0
049
27 = 0
050
28 = 0
051
29 = 0
052
2A = 0
053
2B = 0
054
2C = 0
055
2D = 0
056
2E = 00 02 AA AA AA AA AA 8A
057
2F = 0
058
30 = 0
059
31 = 0
060
32 = 0
061
33 = 0
062
34 = 0
063
35 = 0
064
36 = 0
065
37 = 0
066
38 = 0
067
39 = 0
068
3A = 0
069
3B = 0
070
3C = 0
071
3D = 0
072
3E = 0
073
3F = 0
074
40 = 0
075
41 = 0
076
42 = 0
077
43 = 0
078
44 = 0
079
45 = 0
080
46 = 0
081
47 = 0
082
48 = 0
083
49 = 0
084
4A = 0
085
4B = 0
086
4C = 0
087
4D = 0
088
4E = 0
089
4F = 0
090
50 = 0
091
51 = 0
092
52 = 0
093
53 = 0
094
54 = 0
095
55 = 0
096
56 = 0
097
57 = 0
098
58 = 0
099
59 = 0
100
5A = 0
101
5B = 0
102
5C = 0
103
5D = 0
104
5E = 0
105
5F = 0
106
60 = 0
107
61 = 0
108
62 = 0
109
63 = 0
110
64 = 0
111
65 = 0
112
66 = 0
113
67 = 0
114
68 = 0
115
69 = 0
116
6A = 0
117
6B = 0
118
6C = 0
119
6D = 0
120
6E = 0
121
6F = 0
122
70 = 0
123
71 = 0
124
72 = 0
125
73 = 0
126
74 = 0
127
75 = 0
128
76 = 0
129
77 = 0
130
78 = 0
131
79 = 0
132
7A = 0
133
7B = 0
134
7C = 0
135
7D = 0
136
7E = 0
137
7F = 0
138
80 = 0
139
81 = 0
140
82 = 0
141
83 = 0
142
84 = 0
143
85 = 0
144
86 = 0
145
87 = 0
146
88 = 0
147
89 = 0
148
8A = 0
149
8B = 0
150
8C = 0
151
8D = 0
152
8E = 0
153
8F = 0
154
90 = 0
155
91 = 0
156
92 = 0
157
93 = 0
158
94 = 0
159
95 = 0
160
96 = 0
161
97 = 0
162
98 = 0
163
99 = 0
164
9A = 0
165
9B = 0
166
9C = 0
167
9D = 0
168
9E = 0
169
9F = 0
170
A0 = 0
171
A1 = 0
172
A2 = 0
173
A3 = 0
174
A4 = 0
175
A5 = 0
176
A6 = 0
177
A7 = 0
178
A8 = 0
179
A9 = 0
180
AA = 0
181
AB = 0
182
AC = 0
183
AD = 0
184
AE = 0
185
AF = 0
186
B0 = 0
187
B1 = 0
188
B2 = 0
189
B3 = 0
190
B4 = 0
191
B5 = 0
192
B6 = 0
193
B7 = 0
194
B8 = 0
195
B9 = 0
196
BA = 0
197
BB = 0
198
BC = 0
199
BD = 0
200
BE = 0
201
BF = 0 *
202
C0 = 0
203
C1 = 0
204
C2 = 0
205
C3 = 0
206
C4 = 0
207
C5 = 0
208
C6 = 0
209
C7 = 0
210
C8 = 0
211
C9 = 0
212
CA = 0
213
CB = 0
214
CC = 0
215
CD = 0
216
CE = 0
217
CF = 0
218
D0 = 0
219
D1 = 0
220
D2 = 0
221
D3 = 0 *
222
D4 = 0
223
D5 = 0
224
D6 = 0
225
D7 = 00 00 80 11 80 00 00 00
226
D8 = 00 00 08 08 80 00 00 00
227
D9 = 0
228
DA = 00 52 52 52 52 52 52 52 *****
229
DB = 00 09 09 09 09 09 09 09 *****
230
DC = 00 10 11 11 11 11 11 11 *****
231
DD = 0
232
DE = 0
233
DF = 0
234
E0 = 0
235
E1 = 0
236
E2 = 0
237
E3 = 0
238
E4 = 0
239
E5 = 0
240
E6 = 0
241
E7 = 0
242
E8 = 0
243
E9 = 0
244
EA = 0
245
EB = 0
246
EC = 0
247
ED = 0
248
EE = 0
249
EF = 0 *
250
F0 = 0
251
F1 = 0
252
F2 = 00 12 16 02 00 08 08 08
253
F3 = 00 80 22 2A 01 22 00 00
254
F4 = 0
255
F5 = 00 10 00 01 F0 00 15 00
256
F6 = 00 00 80 10 10 00 00 00
257
F7 = 00 06 03 04 02 10 12 22
258
F8 = 00 00 02 00 08 10 18 22
259
F9 = 00 00 03 00 08 10 18 22
260
FA = 00 02 02 00 0A 10 1A 22
261
FB = 00 02 03 00 0A 10 1A 22
262
FC = 00 04 02 04 08 10 18 22
263
FD = 0
264
FE = 0
265
o------------------------------------o
266
| |
267
00 = 0 * |
268
04 = 0 * |
269
B0 = 0 |
270
BF = 0 * |
271
D3 = 0 * |
272
DA = 00 52 52 52 52 52 52 52 ***** |
273
DB = 00 09 09 09 09 09 09 09 ***** |
274
DC = 00 10 11 11 11 11 11 11 ***** |
275
EF = 0 * |
276
| |
277
o------------------------------------o
278
. . . . . . .
279
writing
in
Manufacturer Command Access Protect (B0h) <- 0xFFFFFF
280
B0 = B0 B0 B0 B0 B0 B0 B0 B0
281
Device Code Read (BFh)
282
BF = BF BF BF BF BF BF BF BF *****
283
. . .
284
285
reg p1 p2 p3 p4 p5 p6 p7 p8
286
B0 = B0 B0 B0 B0 B0 B0 B0 B0
287
B1 = B1 B1 B1 B1 B1 B1 B1 B1
288
B2 = 0
289
B3 = 0
290
B4 = 0
291
B5 = 0
292
B6 = 0
293
B7 = 0
294
B8 = 0
295
B9 = 0
296
BA = 0
297
BB = 0
298
BC = 0
299
BD = 0
300
BE = 0
301
BF = 0 *
302
C0 = 0
303
C1 = 0
304
C2 = 0
305
C3 = 0
306
C4 = 0
307
C5 = 0
308
C6 = 0
309
C7 = 0
310
C8 = 0
311
C9 = 0
312
CA = 0
313
CB = 0
314
CC = 0
315
CD = 0
316
CE = 0
317
CF = 0
318
D0 = 0
319
D1 = 0
320
D2 = 0
321
D3 = 0 *
322
D4 = 0
323
D5 = 0
324
D6 = 0
325
D7 = 00 00 80 11 80 00 00 00
326
D8 = 00 00 0A 08 80 00 00 00
327
D9 = 0
328
DA = 00 52 52 52 52 52 52 52 *****
329
DB = 00 09 09 09 09 09 09 09 *****
330
DC = 00 10 11 11 11 11 11 11 *****
331
DD = 0
332
DE = 0
333
DF = 0
334
E0 = 0
335
E1 = 0
336
E2 = 0
337
E3 = 0
338
E4 = 0
339
E5 = 0
340
E6 = 0
341
E7 = 0
342
E8 = 0
343
E9 = 0
344
EA = 0
345
EB = 0
346
EC = 0
347
ED = 0
348
EE = 0
349
EF = 0 *
350
F0 = 0
351
F1 = 0
352
F2 = 00 12 16 02 00 08 08 08
353
F3 = 00 80 22 2A 01 22 00 00
354
F4 = 0
355
F5 = 00 10 00 03 F0 00 1F 00
356
F6 = 00 00 80 10 10 00 00 00
357
F7 = 00 06 03 04 02 10 12 22
358
F8 = 00 02 03 00 0A 10 1A 22
359
F9 = 00 02 03 00 0A 10 1A 22
360
FA = 00 02 02 00 0A 10 1A 22
361
FB = 00 02 03 00 0A 10 1A 22
362
FC = 00 06 03 04 0A 10 1A 22
363
FD = 0
364
FE = 0
365
writing
in
Manufacturer Command Access Protect (B0h) <- 0x040404
366
B0 = 0
367
Device Code Read (BFh)
368
BF = 0 *
369
. . .
370
371
reg p1 p2 p3 p4 p5 p6 p7 p8
372
B0 = 0
373
B1 = 0
374
B2 = 0
375
B3 = 0
376
B4 = 0
377
B5 = 0
378
B6 = 0
379
B7 = 0
380
B8 = 0
381
B9 = 0
382
BA = 0
383
BB = 0
384
BC = 0
385
BD = 0
386
BE = 0
387
BF = 0 *
388
C0 = 0
389
C1 = 0
390
C2 = 0
391
C3 = 0
392
C4 = 0
393
C5 = 0
394
C6 = 0
395
C7 = 0
396
C8 = 0
397
C9 = 0
398
CA = 0
399
CB = 0
400
CC = 0
401
CD = 0
402
CE = 0
403
CF = 0
404
D0 = 0
405
D1 = 0
406
D2 = 0
407
D3 = 0 *
408
D4 = 0
409
D5 = 0
410
D6 = 0
411
D7 = 00 00 80 11 80 00 00 00
412
D8 = 00 00 0A 08 80 00 00 00
413
D9 = 0
414
DA = 00 52 52 52 52 52 52 52 *****
415
DB = 00 09 09 09 09 09 09 09 *****
416
DC = 00 10 11 11 11 11 11 11 *****
417
DD = 0
418
DE = 0
419
DF = 0
420
E0 = 0
421
E1 = 0
422
E2 = 0
423
E3 = 0
424
E4 = 0
425
E5 = 0
426
E6 = 0
427
E7 = 0
428
E8 = 0
429
E9 = 0
430
EA = 0
431
EB = 0
432
EC = 0
433
ED = 0
434
EE = 0
435
EF = 0 *
436
F0 = 0
437
F1 = 0
438
F2 = 00 12 16 02 00 08 08 08
439
F3 = 00 80 22 2A 01 22 00 00
440
F4 = 0
441
F5 = 00 10 00 03 F0 00 1F 00
442
F6 = 00 00 80 10 10 00 00 00
443
F7 = 00 06 03 04 02 10 12 22
444
F8 = 00 02 02 00 0A 10 1A 22
445
F9 = 00 02 03 00 0A 10 1A 22
446
FA = 00 02 03 00 0A 10 1A 22
447
FB = 00 02 03 00 0A 10 1A 22
448
FC = 00 06 02 04 0A 10 1A 22
449
FD = 0
450
FE = 0
451
452
Unknown LCD driver chip: 0
453
***use minimal init
as
driver ili9341 ili9488 *** ->
454
Benchmark Time (microseconds)
455
Screen fill 1379996
456
Text 354280
457
Lines 3385180
458
Horiz/Vert Lines 144332
459
Rectangles (outline) 103900
460
Rectangles (filled) 3268532
461
Circles (filled) 1199784
462
Circles (outline) 1468216
463
Triangles (outline) 1073012
464
Triangles (filled)
01
Read Registers on MCUFRIEND UNO shield
02
controllers either read
as
single 16-bit
03
e.g. the ID
is
at readReg(0)
04
or
as
a sequence of 8-bit values
05
in
special locations (first
is
dummy)
06
07
diagnose any controller
08
reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
09
reg(0x0004) 04 04 04 04 Manufacturer ID
10
reg(0x0009) 09 09 09 09 09 Status Register
11
reg(0x000A) 0A 0A Get Powsr Mode
12
reg(0x000C) 0C 0C Get Pixel Format
13
reg(0x0030) 30 30 30 30 30 PTLAR
14
reg(0x0033) 33 33 33 33 33 33 33 VSCRLDEF
15
reg(0x0061) 61 61 RDID1 HX8347-G
16
reg(0x0062) 62 62 RDID2 HX8347-G
17
reg(0x0063) 63 63 RDID3 HX8347-G
18
reg(0x0064) 64 64 RDID1 HX8347-A
19
reg(0x0065) 65 65 RDID2 HX8347-A
20
reg(0x0066) 66 66 RDID3 HX8347-A
21
reg(0x0067) 67 67 RDID Himax HX8347-A
22
reg(0x0070) 70 70 Panel Himax HX8347-A
23
reg(0x00A1) A1 A1 01 A1 A1 RD_DDB SSD1963
24
reg(0x00B0) B0 B0 RGB Interface Signal Control
25
reg(0x00B3) B3 B3 00 00 00 Frame Memory
26
reg(0x00B4) B4 34 Frame Mode
27
reg(0x00B6) B6 B6 B6 B6 00 Display Control
28
reg(0x00B7) B7 B7 Entry Mode Set
29
reg(0x00BF) BF BF BF 1F 00 00 ILI9481, HX8357-B
30
reg(0x00C0) C0 C0 C0 C0 C0 C0 40 00 00 Panel Control
31
reg(0x00C1) C1 41 00 00 Display Timing
32
reg(0x00C5) C5 45 Frame Rate
33
reg(0x00C8) C8 C8 C8 48 08 00 00 C8 C8 C8 00 00 00 GAMMA
34
reg(0x00CC) CC CC Panel Control
35
reg(0x00D0) D0 D0 D0 D0 Power Control
36
reg(0x00D1) D1 D1 D1 D1 VCOM Control
37
reg(0x00D2) D2 D2 D2 Power Normal
38
reg(0x00D3) D3 D3 D3 D3 ILI9341, ILI9488
39
reg(0x00D4) D4 D4 D4 D4 Novatek
40
reg(0x00DA) DA 5A RDID1
41
reg(0x00DB) DB DB RDID2
42
reg(0x00DC) DC DC RDID3
43
reg(0x00E0) E0 60 00 00 E0 E0 E0 40 00 00 00 E0 E0 E0 00 00 GAMMA-P
44
reg(0x00E1) E1 E1 E1 61 00 00 00 61 E1 E1 00 00 00 00 E1 E1 GAMMA-N
45
reg(0x00EF) EF EF EF EF EF EF ILI9327
46
reg(0x00F2) F2 F2 F2 F2 F2 F2 00 00 00 00 F2 F2 Adjust Control 2
47
reg(0x00F6) F6 F6 F6 16 Interface Control
https://www.radiokot.ru/forum/viewtopic.php?p=2234647
У самсунгов свои контроллеры. Если есть огромное желание разобраться и
определить какой в твоем дисплее, читай даташиты. Начинай с контроллерами с твоим разрешением 400х240.
И по даташитам копаться с регистрами. Вариант второй --- на рабочем телефоне считывать инициализацию.
И третий вариант самый простой. Взять дисплей у которого считается id и его использывать.
http://en.pudn.com/Download/item/id/1562499.html
Вот примерно похожий дисплей. Скачай pdf и почитай.
croc19, я вообще не уверен что это дисплей работал на самсунге. Он явно не оригинал.
Спасибо за инфу.
Есть еще пара подопытных для тестов нужно распиновки поискать:
Sony Ericsson k500
Philips x518
Acer e101