|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
|
LCD ILI9325 глюки в работе дисплея05.08.2017, 04:20. Показов 2285. Ответов 4
Метки нет (Все метки)
Здравствуйте!
Подключил дисплей ILI9325 и запустил с помощью CooCox к STM32F407VG используя библиотеку производителя LCD. Библиотека написана под uKeil, поэтому для CooCox пришлось переделывать, особенно неприятным оказалось то что китайские разработчики использовали какую-то свою кодировку в которой даже латинские символы CooCox(ом) не воспринимались. Причём сами символы отображались корректно. Пришлось конвертировать кодировку. Вобщем дисплей запустился, но после 1-2 обновлений экрана зависает. Собственно как пытался решать проблему. 1. изменял тактовую частоту процессора; 2. изменял скорость передачи данных FSMC (практически это тоже что и 1) 3. пробовал различные варианты инициализации (думаю где то здесь надо искать инициализация или передача данных). Вобщем, в совокупности, удалось добиться 5-7 обновлений экрана. Но даже значительном понижении частоты FSMC лучших результатов добиться не удаётся, максимум 10-12 обновлений экрана и дисплей зависает. Обновлениями экрана, я называю примерное время за которое заполняется весь экран. Причём с этой же китайской LCD библиотекой под uKeil дисплей нормально работает. Вопрос: кто сталкивался с подобными проблемами, есть ли идеи, предложения? Благодарю за ответы ![]() Код LCD LCD.zip
0
|
|
| 05.08.2017, 04:20 | |
|
Ответы с готовыми решениями:
4
Кодировка LCD дисплея Разработка контроллера LCD дисплея Драйвер для LCD дисплея |
|
|
|
| 05.08.2017, 08:35 | |
|
Идея такая: выкинуть этот код, написать свой. Инициализацию fsmc, просчитав тайминги по даташиту на дисплей, потом взять из интернета или этого кода последовательность байт инициализации дисплея, разобравшись и подписав каждое значение, потом добиться стабильной многократной заливки дисплея одним цветом. Идеально иметь осциллограф.
У вас там назначение кода дисплея, а потом его чтение. Если считалось неправильно, всё пойдёт наперекосяк.
1
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 09.08.2017, 19:33 | |
|
Не поддержу. Написанная для компилера рабочая библиотека - это отличное место зацепиться за готовое решение и не углубляться в "кишки" fsmc, такты, частоты и т.д. Учитывая, что разница между KEIL и CooCox - в компиляторе и в стартовых функциях - уделите внимание правильной инициализации частот шин. Если есть нестабильность - очевидно, что дисплей или МК работает на каких-то граничных параметрах.
0
|
|
|
|
|
| 09.08.2017, 21:08 | |
|
Не соглашусь. Рабочая библиотека это нечто готовое от надёжного поставщика, типа uC/Gui, например.
А здесь поделка от китайцев, предназначенная только показать работоспособность электроники дисплея, который они продают. Захотите надёжной работы - придётся переписать; захотите оставить этот код - огребёте проблем, типа тех что в первом посте темы. У ардуины тоже якобы куча рабочих библиотек на все случаи жизни, только качество их на уровне плинтуса.
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 09.08.2017, 21:56 | |
|
ТС, пробежавшись по коду - нашел пару вещей:
1) Функция delay_ms() имеет совершенно частный случай подсчета времени, причем, зависящий от компилера и уровня его оптимизации. И это помимо частоты процессора и места размещения кода (Wait-States). Компилеры имеют привычку выкидывать пустые циклы, а у вас задержка выполнена именно на этом принципе. Вариантов решений несколько - либо заставить компилятор работать с пустым циклом (например, добавить "volatile" к объявлению переменной), либо использовать какой-нить таймер (RTC например) для подсчета времени. 2) inline-функции в GCC и KEIL также могут иметь разные воплощения. Для GCC можно добавить "__attribute__((always_inline))", чтобы заставить в любом случае заинлайнить функцию. Потому что есть случаи, когда этого не происходит. 3) После просмотра перешел в лагерь ув. Rius )). По возможности либу таки лучше последовательно переписать, придя к табличной отправке данных.
0
|
|
| 09.08.2017, 21:56 | |
|
Помогаю со студенческими работами здесь
5
Подключение LCD дисплея на ATmega на ассемблере Подключение LCD дисплея к ATMEGA8 в PROTEUS Вывести числа в виде LCD - дисплея
Модель дисплея Nokia1202 для Proteus (+Nokia1616 LCD) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|