9

Проблема с дисплеем и LTDC

3 сообщения в этой теме

Здравствуйте, прошу помощи. Пытаюсь осилить программирование под микроконтроллеры.
Суть: есть отладочная плата, stm32f4-discovery с контроллером stm32f429zi на борту. Так же на борту имеется некоторый обвес и в том числе дисплей, ili9341. Сделан проект в кубе, на основе примера из оф библиотеки к кубу.
В данном примере инициализируется сначала spi интерфейс, подключается к дисплею, дает ему команды на инициализацию. Потом включается ltdc интерфейс, и как я понял, он должен участок памяти связать с картинкой на экране. 
В примере есть 2 файла в которых прописаны картинки, переменными (огромные такие массивы с 16битными кодами цветов на каждый пиксель) эти самые 2 переменных указаны как стартовые участки памяти на слои LTDC. Дальше с ними идут некоторые модификации в целях демонстрации, но сейчас это не суть. Пример успешно компилируется и запускается на плате.

Я пытаюсь хотя бы просто вывести картинки на экран. У меня получилось инициализировать дисплей (тупо спер код из примера, там большая пачка команд) и указать в ltds габариты слоев (я так же вывел один слой на одну половину экрана, второй на другую)
Но на этих самый слоях показывается либо мусор, либо серый фон. Когда я попытался вывести одну из картинок(раньше просто пытался залить одним цветом), он мне показал более светлый фон, на половине экрана. 
Пытаюсь понять в чем проблема, все сидел практически посимвольно сравнивал с примером, инициализация таймеров, инициализация ltdc. Все равно не понятно почему пример работает, а мой код нет.
Подскажите куда копать ) Заранее спасибо за советы.

Сосбтвенно мой проект:
гугл диск https://drive.google.com/open?id=0BzZx_i0QoXoqVDI1ZHk2ck54Y2M
гитхаб https://github.com/Kurojneko/display

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Залейте эту прошивку http://rgho.st/8NrxGLLSV 

Заработает, милости прошу сюда-http://mcu.goodboard.ru/viewtopic.php?id=16

Объясню работу всего агрегата. Но только без калокуба , он там абсолютно лишний...

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

1
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был востановлен.   Очистить редактор

Загрузка...

  • Похожие публикации

    • Автор: MasterElectric
      Продаю свои запасы разных МК список будет (позже). Есть STM8, STM32(F1,F2, F3, F4, F7), ADUC, ADUCM, SiLabs (EFM8, EFM32, 8051F), LPC, AVR. Цены будут ниже чем в магазинах. Если что в ЛС пишите посмотрю. Только Украина.
    • Автор: Kirill Lubinets
      С генерировал проект в CubeMX для отладочной платы stm32f303vc.
      Выбрал Virtual Com Port, а он его не видит вовсе(светодиод COM мигает и все).
      Я в расстроенных чувствах не пойму что не так сделал.
       
      Прикрепил проект EWARM к теме.
      ProjectUSB.rar
    • Автор: admin
      Данный цикл статей посвящен простейшему микроконтроллеру в линейке 32-битных камней STM32.

      IAR и STM32 CORTEX M0. Часть 0x00 (пустой треп и отмазки) IAR и STM32 CORTEX M0. Часть 0x01. Подготовка платформы IAR IAR и STM32 CORTEX M0. Часть 0x02, Начинаем пайку! IAR и STM32 CORTEX M0. Часть 0x03, Программируем без программатора IAR и STM32 CORTEX M0. Часть 0x04 Автоматизация прошивки IAR IAR и STM32 CORTEX M0. Часть 0x05, GPIO — входит и выходит... Автор статей: http://cxem.net/profile/17068/
    • Автор: proton8489
      Дорогие гуру, прошу помощи в освоении SystemCoreClock. Как я понимаю это некая функци в STM32, которая возвращает значение установившейся частоты микроконроллера. Но при прямом использовании IAR ругается на то, что эта функция не объявлена. Конечно можно использовать SPL, но мне крайне необходима максимальная скорость и микрозадержки, поэтому хочется получать значение частоты без SPL и HAL. Спасибо за любую наводку.
    • Автор: levshkatov
      День добрый. 
      Пробую запустить I2S на STMF407. Использую HAL. Проблема в том, что данные передаются ровно в два раза медленнее, чем это требуется. Тактирование на ножках проверял, WS ровно столько сколько я поставлю (8к, 44к и тд). CK в 32 раза больше WS. MCK в 256 раз больше, все как и должно быть. Но пакет данных из 1000 байт передается за 62мс, хотя должен за 31 передаваться (при sample rate = 8000Hz). Без разницы, polling mode или DMA.
      Части кода:
      #define WAV_BUFFER_SIZE 1000 uint8_t wavReadBuffer[WAV_BUFFER_SIZE]; for(uint16_t i = 0; i < WAV_BUFFER_SIZE; i++){     wavReadBuffer[i] = 0xff; } HAL_I2S_Transmit(&hi2s2, (uint16_t*)wavReadBuffer, WAV_BUFFER_SIZE, 5000); static void MX_I2S2_Init(void) {     hi2s2.Instance = SPI2;     hi2s2.Init.Mode = I2S_MODE_MASTER_TX;     hi2s2.Init.Standard = I2S_STANDARD_MSB;     hi2s2.Init.DataFormat = I2S_DATAFORMAT_16B;     hi2s2.Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE;     hi2s2.Init.AudioFreq = ((uint32_t)8000U);     hi2s2.Init.CPOL = I2S_CPOL_LOW;     hi2s2.Init.ClockSource = I2S_CLOCK_PLL;     hi2s2.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE;     if (HAL_I2S_Init(&hi2s2) != HAL_OK){Error_Handler();} }
       
  • Сообщения

    • ему "эти" помогали
    • Кто ни будь пробовал для плавного пуска вместо реле что то типа MOC3063 + mac15-10 ?
    • Большое спасибо за ответы дорогие форумчане. Но боюсь на осваивание темы компараторов и транзисторов у меня уйдет куча времени. А его у меня последнее время крайний дефицит. Я прошу вас набросать готовую схемку хоть на транзисторах, хоть на компараторе, большой разницы нет.  Тема почти автомобильная, точнее зажигание двухтактного двигателя скутера 20 лет назад снятого с производства. Оригинальных запчастей на него нет и не будет, приходится прикручивать то что  есть. Беда в том что на этом скутере итальянцы поэксперементировали один раз - получилось достаточно компактно но не надежно и на других моделях такую схему больше нигде не использовали. Сопротивление обмотки датчика положения с которого идет импульс 600 ом, Максимальное число оборотов 14000 об/мин. На оборотах выше 3000 отрицательные импульсы начинают выпрыгивать в плюсовую сторону до 0.5v, соответственно  порог срабатывания надо подобрать 0.7- 0.8v Готов отблагодарить материально за практическую помощь.
    • не думаю, что у кого-то хватит "УМА" на ЭТО Он и даром как изделие никому не нужен!
    • Нарисовал схемы кодера, декодера и регуля. Кодер согласно ссылке Жмяк  ,Согласно усовершенствованию автора добавлены подстроечники, их попробую поменьше купить, а то эти огромные. Три пина слева- для передатчика, воткну пока самый дешевый и наверное самый бородатый китайские передатчик и приемник (комплект на 315Мгц) Декодер по ссылке Жмяк с некоторыми доработками, питание 5В, резистор светодиода 330 Ом и по все выходам поставил токоограничивающие по 300 Ом, вычитал что максимальный ток порта 20мА, с резисторами должен быть не более 16,6мА, вроде запас есть. 4 отдельных пина- для приемника Регулятор по ссылке тык . Плечи моста не симметричные, ибо в одну сторону двигаться будет всяко больше модель, чем в другую, значит на одном плече сэкономим. Мосфеты P и N канальные, в Dpack корпусе(или ТО252, вроде так). Вместо управляющего P-мосфетами полевика воткнул биполярник мелкий(sot23), должно хватить с током коллектора макс 0,15А. Расположение деталей с двух сторон будет, на мосфеты если что удобно будет радиатор приспособить, дорожки может потом еще проводом утолщу, по калькуляторам ширина маловата (раза в два). Резистор на 1кОм не стал оставлять как в исходной схеме, раз на выходе приемника уже стоят токоограничивающие, то счел здесь ненужным еще один (может не прав). И конденсатор по питанию электролит на 100 мкФ, т.к. своего стабилизатора до 5В не предусматриваю на регуле, питание для мк браться будет с приемника, а там уже толстый стаб стоит. Размер плат, кроме регуля, устраивает вполне. Регуль большой получился, но меньше делать не умею, возможны ошибки в правильности разводки плат. Если кого заинтересовало, то вот еще спринт файл плат, там по вкладкам, как в экселе, все три платы. Принципиальные схемы рисовать отдельно лень, все элементы и так подписаны   Передатчик.lay6
    • Если отсоединить шлейф, то всё получится.
    • у меня пока несколько вопросов осталось ) 1. Я заметно убрал вторую гармонику и добился вполне хорошего показателя - от 0,04% THD. Вернулся в начало темы, посмотрел показатели Василича... Не, ну это фантастика. Хотя, возможно, если убрать фон максимально и понять, как убрать 3-ю гармонику, плюс учесть, что искажения вносятся реверсом - обратным корректором и на компе звуковой картой, так как сам комп вносит ооочень много своих шумов, что слышно при подключении наушников в параллель с фоником ко входу ЗК (уши 150 Омов - ну очень чувствительны ко всему). Собственно, вопрос - каковы варианты убрать 3-ю, самую противную, гармонику? Я даже вторую опустил ниже её. И, судя по тому, что в одном канале она ещё в два раза ниже, чем в другом, то можно и ещё опустить. Но третья остаётся как вкопанная. И всегда равна по каналам. И только ну очнеь большое увеличение 2-й начинает поднимать 3-ю. Но после какого-го момента борьбы со второй, 3-я замирает и всё. Что на неё влияет, что можно покрутить? 2. Возможно фон, как он указан выше, и правда есть. Вспомнилось, что я как-то делал оцифровку (https://yadi.sk/d/R2jzx3hc3JokBd) своим корректором и брендовым от АТ: первопресса Wall: И получил такой вот отзыв: Не об это ли лишнем нч-гуле говориться? (( эх (( Вроде бы петель не делаю по земле, придерживаюсь в этом плане рекомендаций Василича (вроде бы )))),а откуда 50Гц в таком количестве, не знаю (   Да, по THD надо будет попробовать 1кгц пустить с компа точно такого же уровня по амплитуде, как и при измерениях в RMAA, и тогда посмотреть на THD осциллографом.