Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
1

TFT дисплей с параллельным интерфейсом

05.01.2021, 23:43. Просмотров 2763. Ответов 77
Метки нет (Все метки)

Mega2560 в качестве обучающей платы. Код пишу на Си в AVR Studio 4. Разобрался по урокам как управлять знакогенерирующим дисплеем 16х2, и даже сделал на нем частотомер с которым бегал за домашними с требованием оценить мой успех ))
Теперь хочу освоить управление графическим TFT, также по параллельному интерфейсу. Перебираю варианты из магазина, совсем маленькие не рассматриваю, из "больших" по цене/размеру приглянулись 2.8"(2.8'' LCD 8-Bit Parallel Bus Monitor Module ILI9341 Criver For Mega2560) и 3.5"(480х320, ILI9486).
На али позиционируются как шильды для меги, т.е. по идее она должна их потянуть ... в статических задачах наверняка (текст, цифры). А в графических, например, осциллограф, при условии что АЦП будет внешним?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2021, 23:43
Ответы с готовыми решениями:

TFT дисплей
Добрый день. перерыл половину интернета, последняя надежда на вас. Есть ардуино UNO и Mega. Есть ...

Дисплей TFT 160x128 RGB и плата Arduino Mega 2560 + WiFi ESP8266 (micro usb)
Здравствуйте. Пользуясь случаем задам в этой теме вопрос. Есть дисплей TFT 160x128 RGB и плата...

Подключение дисплея с параллельным интерфейсом
Здравствуйте. Большая просьба к товарищам модераторам. Если не по теме, то переместите пожалуйста....

Подключение внешней АЦП с параллельным интерфейсом
Приветствую коллеги, есть необходимость оцифровывать относительно короткие временные интервалы...

77
pyzhman
14.01.2021, 07:25     TFT дисплей с параллельным интерфейсом
  #21

Не по теме:

Цитата Сообщение от mode2 Посмотреть сообщение
Как спрятать код в спойлер
В строке тэгов есть плюс в квадрате в квадрате (между OFF и таблицой). В строках ниже тэги языков программирования.

0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
14.01.2021, 08:20 22

Не по теме:

Цитата Сообщение от locm Посмотреть сообщение
Это вы довели. Я же просто уточнил у придрался к pyzhman про МК. Зачем вы вклинились в переписку непонятно. Я отвечал не на ваше сообщение.
Это форум, место для публичного общения. pyzhman описал на пальцах алгоритм для ТСа, вы решили довести его упрощенное высказывание до абсурда. Я указал, что даже с учетом вашей придирки оно остается верным.
Вы недовольны что вам троллить мешают что ли?



Добавлено через 28 минут
Цитата Сообщение от mode2 Посмотреть сообщение
задача не сделать осциллограф, а сделать еще один шажок в освоении мк, т.е. учебная. Кроме того, пока я смутно представляю как реализуется осциллограф на мк, неважно каком. Куда посылать данные с АЦП, где их накапливать. В ОЗУ?
Если так, полностью поддерживаю ваше решение начать с AVR. Полноценный осциллограф вы на нем все равно не сделаете, значит надо делать модель чтобы, как вы и сказали, разобраться что где хранить и как измерять. А уже потом можно и на ARM переписать.
Цитата Сообщение от mode2 Посмотреть сообщение
Т.е. настраиваю таймер на определенный период, например соответствующий ... гм, чему ... полному обновлениею всех пикселей дисплея? Хотя оперативки может не хватить на это.
Вам нужно нарисовать график изменения сигнала за время измерения. Количество отсчетов в идеальном случае равно разрешению дисплея по горизонтали: если оно меньше, то будете использовать лишь часть дисплея, а если больше, то либо часть отрисуется за пределами экрана, либо несколько точек окажутся на одной вертикали и вы их не различите потом. То есть точек надо всего 320 или даже меньше, если будете рисовать всякие рамочки, легенды, числовые поля и т.п. Не забываем, что встроенный АЦП 10-битный, так что по 2 байта на точку. У вас в ATmega2560 целых 8 кБ оперативки, то есть более чем достаточно.
Цитата Сообщение от mode2 Посмотреть сообщение
Т.е. настраиваю таймер на определенный период, например соответствующий ... гм, чему ... полному обновлениею всех пикселей дисплея?
Период опроса все же стоит делать исходя из логики, а не программирования. То есть, скажем, выставили предел 1 мс на деление, одно деление занимает 10 отсчетов, то есть период измерения должен быть 100 мкс.
Цитата Сообщение от Rius Посмотреть сообщение
Посчитайте, сколько байт требуется передать для полной заливки экрана. Например, 320*240 пикселей по 16 бит.
Не обязательно на каждом кадре обновлять экран полностью, достаточно это сделать один раз на старте, а при измерении просто затирать одну точку (или вертикальную линию) от предыдущего замера и рисовать вместо нее точку нового. По SPI это будет что-то около 24 байт, то есть ~24 мкс. Для сравнения максимальная скорость встроенного АЦП ~13 мкс, оптимальная 65 - 260 мкс.
Цитата Сообщение от Rius Посмотреть сообщение
Далее, сколько времени будет передавать тот же объём STM32 по параллельному интерфейсу с использованием DMA.
Не пугайте ТСа такими словами
Грубо говоря, передача через DMA не тратит время вообще, поскольку контроллер не обязан ждать завершения, а реальная передача все равно быстрее, чем дисплей эти данные отобразит, а человек считает.
Цитата Сообщение от Rius Посмотреть сообщение
Потом посчитайте, сколько времени такой объём будет передавать Мега по интерфейсу SPI с максимальной скоростью.
Кстати на удивление немного, я думал там вообще слайд-шоу будет, но похоже нет.
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
14.01.2021, 09:04 23
COKPOWEHEU, скорость работы надо сравнивать именно на заливке полного кадра. Чем больший объём посылки , тем достовернее.
Какой максимальный baudrate у SPI Меги?
0
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
14.01.2021, 09:43  [ТС] 24
Цитата Сообщение от mode2 Посмотреть сообщение
частотомером? Вот, кстати, его код, покритикуйте. У меня почему-то его показания были меньше на 2-3Гц чем у карманного осциллографа. Хотя карманный не идеал точности, какой-то китаец Fnirsi.
За кадром остались инициализация таймера и дисплея, функции управления дисплеем 16х2. Крякозябры в комментах на совести studio 4.19. Самому не нравится что вывод данных на дисплей в теле while получился таким громоздким, и чтобы дальше не нагромождать ограничился 3-разрядами, т.е. частотомер может показывать только до 999Гц. Источник сигнала генератор на 555-м таймере.
Мой частотомер показывал 542Гц, а китаец 545Гц. Эта разница сохранялась везде куда бы ни подвинул частоту генератора.
Кликните здесь для просмотра всего текста

#include "main.h"
#include "lcd.h"

int x=0, y=0;

void init_EXTint(void)
{
EICRA=0b10;// прерывание по низкому уровню на INT0(PD0)
EIMSK=0b1;//выбор входа дл¤ источника прерывани¤ (выбран INT0, т.е. PD0, или пин 21 меги)
}

ISR (INT0_vect) // внешнее прерывание на INT0(PD0)
{
x++;
}

ISR (TIMER1_COMPA_vect)
{
y=x;
x=0;
}

int main(void)
{
DDRB=0xFF; //порт на выход
DDRA=0xFF; //порт на выход
DDRD=0b0; //PD0(INT0) на вход.
PORTD=0b1;//подт¤гиваем вход на питание.
LCDinit(); //инициализации диспле¤
init_PWM_timer();
init_EXTint();
sei();

while(1)
{
LCDcom(0b10000000);
char mass[14]="Frequency(Hz)";//размер массива больше на 1 чем кол-во знаков в тексте.
for(int a=0;a<13;a++)//
{
_delay_us(10);//определ¤ет скорость обновлени¤ экрана, устран¤ет мигание символов.
LCDdat(mass[a]);
}
_delay_us(10);//отсутствие этой задержки вызывает бег строки по кругу.

if(y>=0 && y<=9)
{
LCDcom(0b11000000);
_delay_us(50);
LCDdat(y+48);
_delay_us(50);
}
else if(y>=10 && y<=99)
{
LCDcom(0b11000000);
_delay_us(50);
LCDdat(y/10+48);
_delay_us(50);
LCDcom(0b11000001);
_delay_us(50);
LCDdat(y%10+48);
_delay_us(50);
}
else if(y>=100 && y<=999)
{
LCDcom(0b11000000);
_delay_us(50);
LCDdat(y/100+48);
_delay_us(50);
LCDcom(0b11000001);
_delay_us(50);
LCDdat((y/10)%10+48);
_delay_us(50);
LCDcom(0b11000010);
_delay_us(50);
LCDdat(y%10+48);
_delay_us(50);

}
}
}
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
14.01.2021, 10:11 25
320*240*16 = 1228800 bit

Atmega328
Max 20 MHz operaring frequency
Max SPI clock = 20/2 = 10 MHz, 10 Мбит/с

8.138 кадров в секунду максимум.

STM32F103VET6
SPI Max 18 MHz, 18 Мбит/с
14 кадров в секунду.

FSMC Max 72/5 = 14.4 MHz
На 8-битной шине 115.2 Мбит/с
93 кадра в секунду

На 16-битной шине 230.4 Мбит/с
187 кадров в секунду.
0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
14.01.2021, 10:31 26
Цитата Сообщение от Rius Посмотреть сообщение
Какой максимальный baudrate у SPI Меги?
Частота SPI вдвое меньше тактовой. Ну и 8 бит на посылку дадут 1 МБ/с при кварце 16 МГц. Конечно, выжать столько на в реальности будет сложно.
Цитата Сообщение от mode2 Посмотреть сообщение
LCDcom(0b10000000);
Так делать не стоит. Оберните хотя бы в макрос, если боитесь функций:
C
1
#define LCD_goto(pos) LCDcom(0x80 | pos)
Цитата Сообщение от mode2 Посмотреть сообщение
int x=0, y=0;
Раз эти переменные используются и в прерывании, и в основном коде, их надо объявить как volatile.
Ну и имена бы им более осмысленные дать не помешало.
Цитата Сообщение от mode2 Посмотреть сообщение
EICRA=0b10;// прерывание по низкому уровню на INT0(PD0)
Никогда так не пишите. Есть же нормальные именованные константы, зачем биты считать.
C
1
EICRA |= (1<<ISC01 | 0<<ISC00);
Цитата Сообщение от mode2 Посмотреть сообщение
_delay_us(50);
LCDdat(y/10+48);
_delay_us(50);
LCDcom(0b11000001);
_delay_us(50);
LCDdat(y%10+48);
_delay_us(50);
Это делается не так. Сначала число преобразуется в строку и только потом выводится. Сумеете сами написать itoa?
Плюс для расчетов при выводе вы используете глобальную переменную, которая в любой момент может быть испорчена прерыванием. Надо как минимум буферизовать:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
volatile time_internal, time_output;
ISR (INT0_vect){
  time_internal++;
}
 
ISR (TIMER1_COMPA_vect){
  time_output = time_internal;
  time_internal = 0;
}
 
char* itoa(uint16_t val, char *buf){
//код
}
...
char buf[20];
char *res = itoa( time_output, buf );
lcd_str( res );
Кстати, этот же код отображения можно будет использовать и на графическом экране, нужно будет только переписать lcd_str под него.
Цитата Сообщение от mode2 Посмотреть сообщение
Мой частотомер показывал 542Гц, а китаец 545Гц.
Частота срабатывания таймера точно правильно выставлена?
---
Лучше бы вынесли обсуждение частотометра в отдельную тему.
Цитата Сообщение от Rius Посмотреть сообщение
Atmega328
8.138 кадров в секунду максимум.
У ТС установлена ATmega2560, у которой тактовая заявлена до 16 МГц, то есть 6,5 кадров/с. Для осциллографа за глаза хватит. Да даже видео можно смотреть! Можно было бы, если бы контроллер успевал еще и считать следующий кадр, а не тратил все процессорное время на вывод.
Цитата Сообщение от Rius Посмотреть сообщение
14 кадров в секунду.
93 кадра в секунду
187 кадров в секунду.
Вряд ли сам дисплейчик потянет отображение больше 10 - 20 кадров в секунду.
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
14.01.2021, 11:09 27
ili9486 потянет, судя по даташиту, до 20 000 000 передач в секунду. Это выше возможностей микроконтроллера.
А матрица это уже другая проблема.
0
158 / 146 / 14
Регистрация: 03.02.2012
Сообщений: 703
Записей в блоге: 1
14.01.2021, 19:18 28
Для полноценного осциллографа в реальном времени понадобится что-то значительно шустрее Mega2560

https://www.nickbel.com/2019/0... -hack.html

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

Например, для маленького 240 * 240 на базе ST7789 это 112.5 Kb гонять по шине.
0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
14.01.2021, 20:04 29
Полноценный осциллограф на коленке в любом случае не сделать.
Цитата Сообщение от Kabak Посмотреть сообщение
Если обновлять весь экран , то это значительные объёмы данных. Нужен отдельный контроллер для дисплея
Поэтому обновлять весь экран не нужно. Тем более что многие дисплеи умеют прокручивать часть содержимого.
0
158 / 146 / 14
Регистрация: 03.02.2012
Сообщений: 703
Записей в блоге: 1
14.01.2021, 20:48 30
А смысл этой прокрутки ?

Если вам нужно рисовать осциллограмму в реальном времени и ещё её растягивать во времени, то прокрутка вас не спасёт. Учитывая, что нужно рисовать сетку - шкалу на экране и кучу всего иного ) Или вы голую осциллограмму будете отображать ?

Добавлено через 5 минут
Ну есть у меня Nextion NX8048P070-011C 200Mhz CPU ну и ничего на нём не сделать в качестве осциллографа толкового. Побаловаться - да , получится. Дешевле купить сразу осциллограф нормальный добавив ещё 100$ к цене этого дисплея. А за 20$ китайцы уже сделали осциллограф https://aliexpress.ru/item/328... web201603_

Добавлено через 12 минут
Вот тут очень хорошо расписывается какие объёмы данных необходимо гонять по шине на современных устройствах отображения
0
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
15.01.2021, 00:58  [ТС] 31
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
я все же порекомендую с последовательным интерфейсом.
Возвращаясь к выбору дисплея, например одного из тех что указал в первом посте, понадобится ли мне после приобретения искать к нему дополнительное ПО от производителя, ведь продавец к дисплею ничего не прилагает? С символьным дисплеем ничего кроме самой железяки не понадобилось, хотя у него тоже есть контроллер на борту. Просто вижу что весь инет забит поисками драйверов к TFT дисплеям, пишут железку достали, теперь ищем драйвера к нему, какие-то библиотеки, вот и задумался, может и меня это ждет. А найду ли?
0
Эксперт .NET
7494 / 4992 / 1188
Регистрация: 25.05.2015
Сообщений: 15,247
Записей в блоге: 14
15.01.2021, 04:59 32
Чайники (ардуинщики) ищут. Программисты пишут сами.
0
950 / 580 / 96
Регистрация: 15.05.2012
Сообщений: 3,384
15.01.2021, 07:04 33
Цитата Сообщение от mode2 Посмотреть сообщение
задумался
Брать даташит на приблуду и писать. Тогда ты ее будешь держать за яйца, а не она тебя.
0
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
15.01.2021, 08:46  [ТС] 34
Цитата Сообщение от Rius Посмотреть сообщение
Чайники (ардуинщики) ищут
Я и есть чайник, который поверил что с ардуино ide нужно слезать как можно раньше, до того как прочно прилипнешь к нему, что и сделал начав знакомиться с Си.
Цитата Сообщение от pyzhman Посмотреть сообщение
Брать даташит на приблуду и писать.
Понять бы что требуется, точнее в каких случаях это требуется. Почему, например, в коде частотомера выше символьному дисплею это не потребовалось (диcплей Blaze BSB1602-03)? Может потому что использовался параллельный интерфейс подключения? Или только графическим дисплеям нужен драйвер? Подозреваю что не в этом дело, а в чем ... Для чего вообще нужен драйвер, и библиотека, синонимы ли оба этих термина? Библиотека, это наверное то что у меня в частотомере обзначено как
C
1
#include "lcd.h"
Почему же мне не понадобился еще и драйвер?
Извините за обилие вопросов, это давняя каша, уже подсохла, нужно сдобрить маслицем, сам не расковыряю.
0
Тутошний я
1985 / 1088 / 200
Регистрация: 03.11.2009
Сообщений: 3,773
Записей в блоге: 2
15.01.2021, 09:14 35
есть драйвера моторов или светодиодов. для согласования контроллера с железкой.
есть драйвера в ОС. опять же для согласования ОС с внешней железкой.
а здесь у нас контроллер и в дисплее контроллер. и они между собой обшаются.
имхо здесь драйвер синоним библиотеке.

в библиотеке записаны все команды для общения с дисплеем (ну или другим устройством). хотя бывают урезанные библиотеки, где только часть команд используется.
в библиотеке команды собраны в более менее удобные функции. которыми программисты и используют.

Добавлено через 6 минут
взять туже pos (x,y).
для разных дисплеев, внутри функции, будут разные команды.
а программисту только нужно ввести нужные координаты.
удобно? вот чайники и ищут библиотеки.
0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
15.01.2021, 10:00 36
Цитата Сообщение от Kabak Посмотреть сообщение
А смысл этой прокрутки ?
Если надо выводить медленно меняющийся график. Да, временная сетка будет прокручиваться вместе с ним.
Цитата Сообщение от Kabak Посмотреть сообщение
Вот тут очень хорошо расписывается какие объёмы данных необходимо гонять по шине на современных устройствах отображения
А чего тут расписывать? Физику не обманешь. По 1-4 байта на пиксель. В редких случаях в дисплей ставят мозги, умеющие сжимать-разжимать данные, но на худшем наборе данных это, естественно, не поможет.
Цитата Сообщение от mode2 Посмотреть сообщение
Возвращаясь к выбору дисплея, например одного из тех что указал в первом посте, понадобится ли мне после приобретения искать к нему дополнительное ПО
Библиотека - драйвер для дисплея? Конечно понадобится. Можно взять на сайте продавца, как минимум под Arduino они обычно выкладывают, можно поискать в большом интернете.
А можно на основе найденных библиотек и даташита написать свою.
Я так и делал для 1602, и для графических дисплеев от Nokia2650, 3310 (куда ж без него), ili9341 и e-ink'ов от waveshare 200х200 и 300х400 (они вроде безымянные).
По сути любая библиотека для графического дисплея устроена просто:
1. Инициализация, чуть ли не дословно из примера. Все равно найти расшифровку тех массивов магических констант я так и не смог.
2. Команда задания области рисования (x1,y2 : x2,y2). Обычно это одна иди две команды собственно дисплея плюс 4 байта данных на каждую. В общем-то тоже можно найти в примерах.
3. Передача массива данных цветов. Это вообще одна команда и передача массива данных. Вот это в примерах бывает не всегда.
Иногда нужно реализовывать специфичные команды вроде переключения буферов на e-ink'ах или если нужна та же прокрутка.
Зачастую на основе 2 и 3 пунктов делается вывод текста.
Ну и иногда хочется странного вроде вывода через DMA с синхронизацией, но это уже другая история.
---
Самое сложное - настроить периферию самого контроллера и настроить тайминги. Вообще, я в последнее время склоняюсь к покупке Ардуины специально для этой цели - эталонная реализация взаимодействия с чем-либо, которую можно изучать и переписывать с ардуинского диалекта на нормальный.
Цитата Сообщение от mode2 Посмотреть сообщение
Или только графическим дисплеям нужен драйвер?
Драйвер нужен даже семисегментным индикаторам. Вам повезло найти готовый, который удовлетворяет вашим потребностям, причем не в полной мере (раз пришлось городить задержки).
Цитата Сообщение от mode2 Посмотреть сообщение
#include "lcd.h"
Вы внутрь этого файла заглядывали? Возможно, это и есть драйвер. А возможно, только "пульт управления" к нему.
Цитата Сообщение от Grey Посмотреть сообщение
имхо здесь драйвер синоним библиотеке.
Если точнее, то драйвер это частный случай библиотеки. То есть любой драйвер (для МК) реализуется библиотекой, но не любая библиотека будет драйвером.
А вообще, драйвер можно еще сделать в виде отдельного процесса (программы). Но в контроллерах это непопулярно.
1
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
15.01.2021, 11:00 37
Цитата Сообщение от Rius Посмотреть сообщение
Программисты пишут сами.
программисты сначала тоже ищут
0
158 / 146 / 14
Регистрация: 03.02.2012
Сообщений: 703
Записей в блоге: 1
15.01.2021, 11:25 38
mode2

А какова точная цель ? Собрать хоть что-то с использованием упомянутого вами дисплея в 1-м посте или что-то иное ?

В графических задачах ни один такой шильд не даст вам производительность для осциллографа. Эти дисплеи быстро рисуют закаченные в них картинки, текст, но не графики и кривые. Кроме того, крайне медленно будет отображаться попиксельный рендер, если он вообще будет доступен. Скорее всего, нужно будет рисовать пиксели линиями длинной в один пиксель - очень медленно для осциллографа. Во всяком случае в Nextion - так. Они созданы для умного дома и прочих красивых интерфейсов созданных пользователем в редакторе и загруженным в LCD, но не для скоростного отображения пользователем пиксельной информации с произвольным размещением и цветом.
0
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
15.01.2021, 13:00 39
Цитата Сообщение от Kabak Посмотреть сообщение
В графических задачах ни один такой шильд не даст вам производительность для осциллографа. Эти дисплеи быстро рисуют закаченные в них картинки, текст, но не графики и кривые.
Это кто вам такое сказал?
Если уж дисплея достаточно для воспроизведения плавной анимации, то уж осциллограмму он отрисует точно. Ведь требования к осциллографу гораздо меньше, чем к экрану общего назначения. И по отображаемой информации (статичная сетка плюс одна-две ломаные линии) и по скорости (пара кадров в секунду за глаза).
При реализации осциллографа проблема будет уж точно не в дисплее. А скорее в контроллере, АЦП и аналоговой части. Данные по AVR я уже приводил: на встроенном АЦП не более 80 ksps (samples per second, отсчетов в секунду). На внешнем SPI-ном порядка 1 Msps. На внешнем параллельном ну пускай 10 Msps при 8-битной точности. Но это надо ОЧЕНЬ постараться чтобы такое выжать.
Для stm32f103 вот тут говорит, что разогнал до 9 Msps на встроенном АЦП. Но это с разгоном, по документации же около 2 Msps.
На кошачьем форуме видел разработку на stm32f303, там вроде 10 Msps без разгона.
В общем, по большому счету, все равно получается игрушка-показометр. Но для некоторых целей большего и не требуется. Скажем, для отладки каких-нибудь звуковых усилителей хватит даже 80 ksps, которые может выдать AVR, для низкочастотных импульсных блоков питания тоже.
Цитата Сообщение от Kabak Посмотреть сообщение
Скорее всего, нужно будет рисовать пиксели линиями длинной в один пиксель
В случае ili9341 скорее прямоугольниками 1х1 (получается 13 байт на пиксель). Для двухлучевого осциллографа при частоте тактирования SPI 36 МГц (на stm32f103, к примеру) полная отрисовка займет ~4 мс (fps=250). Даже на AVR с частотой 16 МГц это будет ~20 мс (fps=50). Учитывая, что для осциллографа достаточно 100 мс на отрисовку кадра, запас огромный.
0
158 / 146 / 14
Регистрация: 03.02.2012
Сообщений: 703
Записей в блоге: 1
15.01.2021, 14:06 40
Анимацию эти дисплеи рисуют из своей памяти, а не по SPI гоняют. И STM32 и их библиотеки совсем не Arduino и их библиотеки по скорости работы.

Парню придётся осваивать Си как минимум, а не готовые скетчи
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2021, 14:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

TFT дисплей и ATMega8
Никак не могу заставить работать TFT дисплей ST7735, интерфейс SPI. Вроде делаю все как описано...

TFT дисплей и AVR
Всем привет. Бьюсь неделю, решил попросить помощь зала. Подключаю вот такой TFT дисплей к...

STM32VLDISСOVERY + TFT дисплей. Хелп!!!!
Пытаюсь прикрутить друг к другу. Подключил, читаю нулевой регистр - возвращается 0х9331....

TFT дисплей + TouchPad как выбрать
Всем доброго времени суток! Я пока что новичок в программировании МК и у меня есть только платка...

STM32F3 и TFT дисплей (ILI9341) ЧЯДНТ ?
Хочу подключить mykroTFT дисплей к плате STM32F3 Dyscovery через 16 битовый RGB интерфейс. ...

Какой TFT-LCD дисплей на 3-4" лучше использовать для STM32
Всем привет! Вопрос такой, у кого есть опыт подключения различных дисплеев к STM32 (особенно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.