Jump to content
Юра Махович

Дисплей ILI9486 и STM32f103c8t6

Recommended Posts

Posted (edited)

Доброго времени суток!
Прикупил я значит себе такой дисплей на контроллере ILI9486 с разрешением 320*480 . Нашел пример под ардуино - все замечательно. НО решил я запустить его на стмке, и получил белый экран.. 
Этот репозиторий показывает такую информацию:

readReg16(0)=0x0
readReg32(A1)=0xa1a1
readReg40(BF)=0xbfbf
readReg32(D4)=0xd4d4
readReg40(EF)=0xefef
readReg32(FE)=0xfefe
readReg32(04)=0x4040404
readReg32(D3)=0xd3d3
Device ID: 0xD3D3
Width: 320
Height: 480

Я уже вручную добавил код инициализации с ардуиновской библиотеки:
 

-- 249 --

_lcd_ID = ID;
  switch (_lcd_ID) {

    case 0x9486:
      _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS ;
        static const uint8_t ILI9486_regValues[] PROGMEM = {
	    	0x01, 0,            //Soft Reset
            TFTLCD_DELAY8, 50,
            0x28, 0,            //Display Off
					
            0xC0, 2, 0x19, 0x1a,        //Power Control 1 [0E 0E]
            0xC1, 2, 0x45, 0x00,        //Power Control 2 [43 00]
            0xC2, 1, 0x33,      //Power Control 3 [33]
            0xC5, 2, 0x00, 0x28,   //VCOM  Control 1 [00 40 00 40]

            0xB4, 1, 0x02,      //Inversion Control [00]
            0xB6, 3, 0x02, 0x02, 0x3B,  // Display Function Control [02 02 3B]
#define GAMMA9486 3
#if GAMMA9486 == 0
            // default LT						
					  0xE0,15,0x1F,0x25,0x22,0x0B,0x06,0x0A,0x4E,0xC6,0x39,0x00,0x00,0x00,0x00,0x00,0x00,
	          0XE1,15,0x1F,0x3F,0x3F,0x0F,0x1F,0x0F,0x46,0x49,0x31,0x05,0x09,0x03,0x1C,0x1A,0x00,
#elif GAMMA9486 == 1
            // GAMMA f.k.	bad		
            0xE0, 15, 0x0f, 0x31, 0x2b, 0x0c, 0x0e, 0x08, 0x4e, 0xf1, 0x37, 0x07, 0x10, 0x03, 0x0e, 0x09, 0x00,
            0xE1, 15, 0x00, 0x0e, 0x14, 0x03, 0x11, 0x07, 0x31, 0xC1, 0x48, 0x08, 0x0f, 0x0c, 0x31, 0x36, 0x0f,
#elif GAMMA9486 == 2
            // 1.2 CPT 3.5 Inch Initial Code not bad
			0xE0, 15, 0x0F, 0x1B, 0x18, 0x0B, 0x0E, 0x09, 0x47, 0x94, 0x35, 0x0A, 0x13, 0x05, 0x08, 0x03, 0x00, 
			0xE1, 15, 0x0F, 0x3A, 0x37, 0x0B, 0x0C, 0x05, 0x4A, 0x24, 0x39, 0x07, 0x10, 0x04, 0x27, 0x25, 0x00, 
#elif GAMMA9486 == 3
            // 2.2 HSD 3.5 Inch Initial Code not bad
			0xE0, 15, 0x0F, 0x1F, 0x1C, 0x0C, 0x0F, 0x08, 0x48, 0x98, 0x37, 0x0A, 0x13, 0x04, 0x11, 0x0D, 0x00, 
			0xE1, 15, 0x0F, 0x32, 0x2E, 0x0B, 0x0D, 0x05, 0x47, 0x75, 0x37, 0x06, 0x10, 0x03, 0x24, 0x20, 0x00, 
#elif GAMMA9486 == 4
            // 3.2 TM  3.2 Inch Initial Code not bad
			0xE0, 15, 0x0F, 0x21, 0x1C, 0x0B, 0x0E, 0x08, 0x49, 0x98, 0x38, 0x09, 0x11, 0x03, 0x14, 0x10, 0x00, 
			0xE1, 15, 0x0F, 0x2F, 0x2B, 0x0C, 0x0E, 0x06, 0x47, 0x76, 0x37, 0x07, 0x11, 0x04, 0x23, 0x1E, 0x00, 
#elif GAMMA9486 == 5
            // 4.2 WTK 3.5 Inch Initial Code too white
			0xE0, 15, 0x0F, 0x10, 0x08, 0x05, 0x09, 0x05, 0x37, 0x98, 0x26, 0x07, 0x0F, 0x02, 0x09, 0x07, 0x00, 
			0xE1, 15, 0x0F, 0x38, 0x36, 0x0D, 0x10, 0x08, 0x59, 0x76, 0x48, 0x0A, 0x16, 0x0A, 0x37, 0x2F, 0x00, 
#endif
			0x20, 0,            // Display Inversion OFF
            0x36, 1, 0x0A,      //Memory Access
            0x3A, 1, 0x55,      //Interlace Pixel
            //            0x21, 0,            //Invert display !!!
            0x11, 0,            //Sleep Out
            TFTLCD_DELAY8, 50,
            0x29, 0,            //Display On
        };
        init_table(ILI9486_regValues, sizeof(ILI9486_regValues));
        p16 = (int16_t *) & HEIGHT;
        *p16 = 480;
        p16 = (int16_t *) & WIDTH;
        *p16 = 320;
    break;

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

P.S. Я только начинаю вникать во "взрослый" мир МК, так что по даташиту самостоятельно слепить свою либу пока не могу.

Edited by Юра Махович

Share this post


Link to post
Share on other sites
Posted (edited)
6 часов назад, Юра Махович сказал:

самостоятельно слепить свою либу пока не могу

А где вопрос то?

Ты хочешь что бы тебе гайд написали по лепке(портированию) либы?

Edited by ruhi
дополнил

Share this post


Link to post
Share on other sites

А что помешало взять сразу либо пот STM? Ну и для начала надо проверить, что МК вообще что-то передает.

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

4 часа назад, BARS_ сказал:

А что помешало взять сразу либо пот STM?

Конкретно под этот дисплей я не нашел либы, по поводу передает ли МК данные, да передает, т.к. екран мерцает.

 

4 часа назад, ruhi сказал:

Ты хочешь что бы тебе гайд написали по лепке(портированию) либы?

Не совсем, я имел ввиду что может у кого-то уже есть такое или знает где можно скачать.. Если ничего не выйдет попробую самостоятельно портировать из ардуиновской библиотеки.

Share this post


Link to post
Share on other sites
10 минут назад, Юра Махович сказал:

под этот дисплей я не нашел либы

В поисковике ILI9486+STM32

 

10 минут назад, Юра Махович сказал:

да передает, т.к. екран мерцает.

Мерцание экрана говорит лишь о том, что дергается вывод RESET, не более.

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

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

Подробнее...

Posted (edited)

Юра Махович, такие дисплеи используют специалисты. Нужно делать рациональный выбор дисплея.

Edited by Oxford

Share this post


Link to post
Share on other sites
19 часов назад, Oxford сказал:

Юра Махович, такие дисплеи используют специалисты. Нужно делать рациональный выбор дисплея.

Та я уже разобрался с вопросом, уже все хорошо работает.

Share this post


Link to post
Share on other sites
Guest Electron

У меня та же самая проблема, слипил свою либу которая могла закрашивать экран, только вместо полной закраски он рисовал сетку серую либо желтую. Написал, взяв за основу ili9341, т.к. под него была либа.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Магнитное поле исправь.
    • Попробовал залить прошивку версии 2 для платы с ж/к дисплеем - при включении Wait, а затем Low Bat. Учитывая что перед этим пришлось перепаять 4066, операционник и заменить убитый индикатор - прогресс налицо - буду смотреть делитель, отвечающий за контроль питания на ноге контроллера и копать дальше.
    • пока так- чет заманался )- так как 12 вольт практически здесь дежурный режим - постарался уделить этому узлу максимальное внимание - добавил запас по току - 2 конденсатора по 1 мкф - поставил супрессор 24 вольта - для зашиты - в случае пробоя кондея - выбьет предохранитель - и для стабильной работы таймера - добавил кренку - с запуском всей схемы возможно чет и заменю - возможно мост - все в практике.
    • Всё чёрным- это как? Металлизация есть в параметрах пятачков
    • @Гость Александр Аккумуляторы можно заряжать как меньшим током, так и большим. Есть и форсированные устройства зарядки. Но за скорость надо платить более быстрым износом аккумуляторов. Самое рациональное решение - током 10% от ёмкости аккумулятора. Это справедливо для Ni-Cd и Ni-Mh аккумуляторов. Если зарядное устройство не автомат, чтобы до конца прошли восстановительные процессы необходимо определённое время.Существует формула по которой это время можно вычислить. Время зарядки аккумулятора:  Тчас.= Ёмкость аккумулятора (mAh)/Зарядный ток (mAh) * К Где К = 1.4 - средний коэффициент.  К = 1.2 -1.6 (средний 1.4) Зарядный ток и ёмкость аккумулятора Вам известны. А время зарядки можно посчитать за несколько минут. 
×
×
  • Create New...