|
Mr.OKS
|
|
STM32 + SSD196322.09.2016, 00:51. Показов 35521. Ответов 92
Метки нет (Все метки)
Подключаю к плате STM32F4DISCOVERY дисплей( TFT Proto 4.3") контроллер на этом дисплее SSD1963.
Проблема в том, что нет никакой реакции на команды, даже не получается просто включить дисплей, уже две недели голову ломаю над проблемой... я пытался подключать через FSMC и просто дергать ножки. Измерял сигнал, приходят правильные, но дисплей молчит в чем может быть проблема? Подключал так: D[0,1,14,15] E[7:10] - шина данных D4 - RD ( при записи 1 ) D5 - WR ( при записи 0 ) D7 - Cs ( всегда 0 ) D11 - Rs( 0 - команда, 1 - данные) И еще вопрос по поводу питания: у меня дисплей питается от блока питания( 3.2В, 50мА) , а плата от USB. Здесь могут быть какие то тонкие моменты? [7.65 Кб] [4.6 Кб] |
|
| 22.09.2016, 00:51 | |
|
Ответы с готовыми решениями:
92
STM32 + SSD1963 STM32 + SSD1963 + IAR SSD1963 + STM32 + ucGUI [РЕШЕНО] |
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 64
|
|
| 06.03.2017, 18:17 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
|
| 06.03.2017, 18:25 | |
|
Hotd мне надо вращать картинку. На картинке стрелка.
Вот и спрашиваю как это сделать. Нужно чтоб при смене показаний обновлялся фон (частично) и на лету к нему подмешивалась новая стрелка. Картинка стрелки как бы в вертикальном положении остриём вниз. Поскольку заполнение фона идёт слева на право и сверху вниз, то я не понимаю как рассчитать будет ли какая точка стрелки попадать в отрисовываемую точку, то хочу сначала повернуть стрелку создав массив в оперативе, а потом уже при отрисовке сравнивая два массива и если в массиве стрелки точка чёрная, то рисовать точку из массива фона, а если светлая, то рисовать из массива стрелки. UPD Нашёл формулу и пару интересных статей. в простом варианте это newX = xc + (x-xc) * cos + (y-yc) * sin newY = yc + (y-yc) * cos — (x-xc) * sin xc и yc это координаты центра вращения Ryus Всё нормально каким цветом бы не заливал.
0
|
|
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
||||||
| 08.03.2017, 17:02 | ||||||
|
Ребят, проверьте меня пожалуйста!
Это должен быть поворот. массив __acarrow это стрелка загруженная в постоянную память микроконтроллера. Написано в блокноте, синтаксис не проверял. Тут главное сам алгоритм.
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
||||||
| 09.03.2017, 02:45 | ||||||
|
Dimox
А при чём тут построение отрезка простите? Мы крутим в памяти рисунок! в массив __acarrow загружен рисунок стрелки, с градиентом и прочими прелестями. Тоесть рисунок BMP переведён в вид массива описывающего цвет точки начиная с левого верхнего угла и заканчивая правым нижним. И мы поворачиваем изображение, а не крутим отрезок. И собственно этот расчёт может быть и не быстрым. От него требуется обновление стрелки раз в 100мс. Быстрота нужна будет при выводе этого на экран. Вот там массив должен быть полностью готов к выдаче без всяких дополнительных обработок. Но идея правильная! Sin и Cos угла можно рассчитать один раз без цикла так как он не меняется для всех точек. Спасибо- упустил! Тогда приняли вот такой вид (и нашёл ещё ошибку!):
0
|
||||||
|
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 423
|
|
| 09.03.2017, 09:57 | |
|
Раз уж тут знатоки ssd1963 появляются, задам и свой вопрос.
Дисплей на этом контроллере 4,3" 480*272 от winstor WF43CTIBEDA#000. Подключен к stm32f3, по gpio. Все работает, показывает. Иногда при работе вываливается в белый экран, т.е. это может быть сразу при включении, может через полчаса, может через 1,5 часа. В разное время короче. В какую сторону копать?
0
|
|
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 64
|
|
| 09.03.2017, 10:19 | |
|
У меня такое на белом цвете было. Только несколько белых пикселей передашь и всё, ресет. Догадываюсь, что наводились помехи из-за кривой платы дисплея. В данной теме плата от EastRising, там вроде получше разведено.
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
|
||
| 09.03.2017, 14:21 | ||
ftoot SinAngle23 = sin(angle * (pi/180)); ftoot CosAngle14 = cos(angle * (pi/180+pi)); ftoot SinAngle14 = sin(angle * (pi/180+pi)); 1. для CosAngle14,SinAngle14 скобки не правильно стоят. 2. angle * (pi/180) достаточно посчитать один раз (перевод в радианы) 3. cos(a + pi) = -cos(a), sin(a + pi) = -sin(a) (школа :)) 4. алгоритм поворота это просто умножение на матрицу, что-то вы там с четвертями намутили
0
|
||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
|
| 10.03.2017, 01:14 | |
|
Dimox
А конкретику внести можно по 4 пункту. Пока делаю как в школе и вспоминаю за одно. Это милое заведение я закончил лет так 20 назад, хотя с удовольствием вернулся бы (но думаю в этих мыслях я не одинок). Может с кодом поможете? Я уже запутался если честно. :( Ryus А ресет чего? У дисплея пока ресет не подашь его не будет. Даже если переставить джампер на программирование последняя картинка просто зависнет на дисплее. В сторону питания копать не пробовали? Врядли это связанно с длиной проводов... Тем более что после уже установки всех "опций работы", тоесть инициализации. Многие советуют поставить на плату дисплея 0,1+100uf.
0
|
|
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 64
|
|
| 10.03.2017, 09:59 | |
|
TrD, ресет всех настроек контроллера SSD1963. При этом на пине ресета осциллограф ничего не фиксировал.
По питанию и кондёры ставил, и мощный стабилизатор отдельный.
0
|
|
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
||
| 10.03.2017, 15:30 | ||
p.FSMC_AddressSetupTime = 0; p.FSMC_AddressHotdTime = 0; p.FSMC_DataSetupTime = 2; p.FSMC_BusTurnAroundDuration = 0; Попробуйте p.FSMC_AddressSetupTime = 0; увеличить до 5, в описании дисплея эта задержка должна быть не менее 4.
0
|
||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
||||||
| 01.07.2017, 15:33 | ||||||
|
Спустя много время я накатал вот такой код стрелки.
Тормозит жутко! https://www.dropbox.com/s/4rkq... 2.mp4?dl=0
И выводить это не сразу на экран, а в массив чтоб убрать обсчёт стрелки при выводе на экран. или это уже в другую тему можно переносить?
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
|||||||||||
| 02.07.2017, 22:26 | |||||||||||
|
Помогите уже кто нить!
Вот этот кусок кода очень тяжёлый и выполняется кучу раз.
И второй вопрос- для чего вначале делается свап вершин?
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 02.07.2017, 23:37 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
|
| 03.07.2017, 19:50 | |
|
Как ты себе эту таблицу представляешь?
Кстати вот развёрнутое с описанием то, что я нарыл сверху, только код чуть другой. Не могу понять пока что там к чему и какой из них правильный: Сорри за ссылку на сторонний ресурс. http://www.codenet.ru/progr/video/alg/alg1.php
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 03.07.2017, 20:34 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
|
| 06.07.2017, 03:54 | |
|
Riftistor.
Окай- облегчу даже чуть задачу. Будем не для 90 положений считать, а для 45. Возьмёт область в 200х200 точек. Получим по 400 значений на одно положение стрелки(координаты Y для двух сторон треугольника). Умножим на 45 и получим 18 тысяч значений. Там где нет стрелки тоже надо отмечать, а то потом легко промахнуться или для каждой позиции будет свой расчёт, что приведёт к ещё большему увеличению кода. Есть ещё желание забивать это в ручную? А это ещё надо и высчитать! Не с миллиметровкой же ты сидеть будешь? А теперь возьмём и захотим нарисовать стрелку не 200х200, а 138х138... Все таблицы переправлять?
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||||
| 06.07.2017, 11:43 | ||||
0
|
||||
|
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 1
|
||
| 06.07.2017, 21:29 | ||
|
Riftistor
Тебе всё равно придётся искать пересечение сканируемой точки с вектором треугольника. Я в реалтайме рисую треугольник, ты его просто хочешь запихать в массив- для каждого градуса свой массив. А рассчитывать пересечение всё равно придётся! Есть только один вариант массива чтоб не считать- вписать начало и конец отрезка закрашиваемой линии. Ну тоесть что я написал выше что это будет весить много и рассчитывать придётся написав такой же код. PS. Сегодня с работы устал, на выходных проверю код и посмотрю что выйдет. Всё равно он работать должен быстрее моего вычисления.
0
|
||
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.07.2017, 23:05 | ||
0
|
||
| 06.07.2017, 23:05 | |
|
STM32F4Discovery, SSD1963, FSMC STM32F429IG+SSD1963 по FMC. Проблемы с кодировкой цвета STM32F103 + FSMC + RAM (ext) + SSD1963 = глюк [РЕШЕНО?] Общение с барометром MS5540 на STM32 (Arduino to STM32) Чем связать STM32 + STM32 в одном корпусе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|