Top.Mail.Ru
Уведомления
Очистить все

[Решено] Дисплей st7735. Подключение к stm32f100, stm32f072

Страница 6 / 8
(@sdsdfw)
Level 1

@aveal попробовал изменить задержку, не в ней дело. Что то другое. При сборке по этом примеру https://stm32withoutfear.blogspot.com/2019/03/stm32-lcd-st7735.html, все запускается и цвета и размеры нормально, но вместо картинки мусор, не разобрался с выводом изображения пока

 

ОтветитьЦитата
Размещено : 12.02.2023 10:46
(@alexey55555)
Level 1

@Aveal извиняюсь, а мое сообщение на 5ой транице? 

В ожидании модерации
Размещено : 12.02.2023 10:17
 
я понимаю, в чужой монастырь с своей молитвой не ходят..
форум одна из самых медленных платформ обмена сообщениями, так еще каждый раз приходится ждать модерации около часа.
ОтветитьЦитата
Размещено : 12.02.2023 11:13
Aveal
(@aveal)
Top level Admin

@alexey55555 Сейчас спамеров резко много стало, весеннее обострение наверно, поэтому пока каждое сообщение модерирую вручную. В ближайшее время проверенные авторы будут сразу публиковаться, так что приношу извинения за временные неудобства.

ОтветитьЦитата
Размещено : 12.02.2023 14:34
(@alexey55555)
Level 1

@aveal  сочувствую

после прочтения  это сообщение можно удалить.

ОтветитьЦитата
Размещено : 12.02.2023 14:49
(@sdsdfw)
Level 1

@alexey55555 #define ST7735S_1_8_DEFAULT_ORIENTATION // WaveShare ST7735S-based 1.8" display, default orientation - с этим у меня нормально поехало, но картинка с птичкой не загружается. 
В конце основного вывода добавил

ST7735_FillScreen(ST7735_BLACK);
ST7735_DrawImage(0, 0, 128, 128, (uint16_t*) test_img_128x128);
HAL_Delay(3000);

библиотеку с img подцепил. Картинка выводится так, остальная часть тестовой программы без ошибок

photo 2023 02 12 21 08 40

 

 

ОтветитьЦитата
Размещено : 12.02.2023 16:10
(@alexey55555)
Level 1

@sdsdfw Вы картинку взяли из проекта который я выложил?  там потертый фаил. я его и удалил из демки)

https://dropmefiles.com/HGn7U вот оригинал, но ничего не выйдет. у вас флеша 64кб, только под картинку нужно 113кб.

ОтветитьЦитата
Размещено : 12.02.2023 20:44
(@sdsdfw)
Level 1

@alexey55555 а теоретически, что бы на моем контроллере грузить картинки таких размеров, это надо SD карту подключить? И потом построчно выводить на экран?

ОтветитьЦитата
Размещено : 14.02.2023 01:25
(@alexey55555)
Level 1

@sdsdfw я с картинками особо не связывался, теоретически да. или сдкарту или чтото вроде (W25Q32, W25Q64, W25Q128)

ОтветитьЦитата
Размещено : 14.02.2023 09:18
(@mamon)
New member

@sdsdfw 

Красивая картинка!

Первое, что бросается в глаза: DCX переключается после второго байта, а не после первого.

Дальше выясняется, что в каждом пакете ровно вдвое больше байт, чем должно быть. Отсюда возникает предположение, что SPI контроллер работает в режиме 16-бит. Это вполне объяснило бы и несвоевременный DCX.

И встречный вопрос сообществу: у меня ST7735S работает только на частоте 160КГц, хотя по документации должен бы до 15МГц принимать. Кто-нибудь с таким сталкивался? (Уже на 320КГц даже на однобайтные команды без параметров не реагирует.)

ОтветитьЦитата
Размещено : 26.02.2023 16:55
(@eduard)
Level 5 Moderator

@mamon Я столкнулся с тем, что до определённого момента дисплей хавает данные. Потом увеличение частоты SPI почему то перестаёт влиять на скорость вывода данных.

Я медленно, медленно готовлю статью, в которой хочу показать скорость вывода на дисплей на определённом контролере, но с разными интерфейсами.

SPI, FSMC-8bit, FSMC-16bit, 8bit ногодрыг.

ОтветитьЦитата
Размещено : 26.02.2023 20:49
(@mamon)
New member
От: @eduard

@mamon Я столкнулся с тем, что до определённого момента дисплей хавает данные. Потом увеличение частоты SPI почему то перестаёт влиять на скорость вывода данных.

Я медленно, медленно готовлю статью, в которой хочу показать скорость вывода на дисплей на определённом контролере, но с разными интерфейсами.

SPI, FSMC-8bit, FSMC-16bit, 8bit ногодрыг.

Скорость вывода не растет, или дисплей не принимает данные на более высокой скорости?

Если дисплей все же отображает все, что ему послали, то проблема может быть в скорости процессора или в задержках между посылками последовательных байт.

В моем случае на 160КГц  дисплей рисует. После переключения на 320КГц просто игнорирует все, что ему послали, а после возврата на 160 - продолжает рисовать, как ни в чем не бывало. (На stm32f401 при 84MHz CPU минимальная частота SPI - 164062. Понижать частоту CPU или APB1 ради эксперимента не вижу смысла - разве, чтобы убедиться, что "на 200 работает, а на 240 уже нет"?)

Как-то слабо верится, что "не слишком красиво уложенные" провода уже на 320КГц настолько портят сигнал, что дисплей его не видит... Может, какой-то команды не хватает, чтобы вывести его из "сонного состояния"? (Я ему посылаю SleepOut (0x11), DisplayOn (0x29) и ColMod (0x3a) с параметром 0x5 (16bpp).)

 

ОтветитьЦитата
Размещено : 27.02.2023 00:09
(@eduard)
Level 5 Moderator
От: @mamon

Скорость вывода не растет, или дисплей не принимает данные на более высокой скорости?

Скорость вывода не растёт. Я сужу о скорости по заполнению экрана одним цветом. Там всего несколько команд. Выставить координаты верхнего левого угла, нижнего правого угла, запись RAM. А дальше два байта цвета, пока всё не заполнится.

Отображение идёт нормально, даже при максимальной частоте. Проверял на STM32F407 при максимальных частотах тактового генератора.

Дрова использовал отсюда https://disk.yandex.ru/d/ymB60PAjT5rjTw

Примеры там же.

ОтветитьЦитата
Размещено : 27.02.2023 06:22
Aveal
(@aveal)
Top level Admin

@mamon Доброго времени суток, вряд ли провода, все-таки по частоте на порядки отличие от ожидаемых значений. Теоретически могу Ваш проект проверить у себя, где-то были ST7735 распаянные на платах с STM32F103RE. Но у меня та партия кажется была ST7735R.

ОтветитьЦитата
Размещено : 27.02.2023 11:30
(@mamon)
New member

@aveal 

Пока не понял, как разбить цитату на части, поэтому пробую вручную:

>> Доброго времени суток, вряд ли провода, все-таки по частоте на порядки отличие от ожидаемых значений.

Вот и я так думал. Просто предполагал, что кто-то еще столкнулся с аналогичной проблемой.

>> Теоретически могу Ваш проект проверить у себя, где-то были ST7735 распаянные на платах с STM32F103RE. Но у меня та партия кажется была ST7735R.

Спасибо за моральную поддержку, но пока этот "проект" находится не в том состоянии, чтобы его можно было оценить или даже просто воспроизвести - это не HAL, не Cube, а просто сделано отдельно от всего.

Я регистрировался не столько для того, чтобы получить ответ на мой вопрос по поводу скорости, сколько для того, чтобы ответить на вопрос, на который я вижу правильный ответ (или мне так кажется, что ответ правильный?).

И я готов поделиться кусками кода, которые у меня работают. Например, чтение - RDID, RDDST, RDDCOLMOD. (Только не просите перевести этот код на более привычные вам вызовы. 🙂 )

ОтветитьЦитата
Размещено : 28.02.2023 01:03
Aveal
(@aveal)
Top level Admin

@mamon Понятно) Вообще я к адептам HAL и Cube себя в целом не отношу )

ОтветитьЦитата
Размещено : 28.02.2023 11:51
Страница 6 / 8
Поделиться: