Таймер не работает

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

А набортная флэшь уже закончилась или ты её солить собрался?
Реклама
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

Набортной в stm32f412 вроде 1 или 2 метра, а один только лис весит метр

Добавлено after 4 minutes 5 seconds:
Еще шрифт подгрузил не хилый, мне кажется я когда программу шью, где то с другой стороны spam выпадает
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Таймер не работает

Сообщение Reflector »

[uquote="TEPEM",url="/forum/viewtopic.php?p=3756723#p3756723"]Набортной в stm32f412 вроде 1 или 2 метра, а один только лис весит метр[/uquote]
Разве он не должен весить 240 * 240 * 2 / 1024 = 112.5 КБ?
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

Не, 24bit красивше
Реклама
Эиком - электронные компоненты и радиодетали
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Таймер не работает

Сообщение Reflector »

[uquote="TEPEM",url="/forum/viewtopic.php?p=3756734#p3756734"]Не, 24bit красивше[/uquote]
У тебя 24-х битный дисплей? По идее там 18-ть бит, но судя по коду используются только 16-ть. В любом случае даже если 3 байта на цвет, все равно выходит 169 КБ.
Реклама
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

У меня конвертор на 24Бит или 16 Бит, на дисплее разница небо и земля. 240x240x24 = 1.3MB
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Таймер не работает

Сообщение Reflector »

Сам же только что сказал, 24 БИТ, а не байт :)
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

СпойлерИзображение
Добавлено after 5 minutes 2 seconds:
Я запутался уже
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Таймер не работает

Сообщение Reflector »

[uquote="TEPEM",url="/forum/viewtopic.php?p=3756748#p3756748"]
СпойлерИзображение
[/uquote]
Зачем мне картинка в BMP... Кстати, судя по схеме дискавери дисплей там подключен по 16-ти битной шине, так что наверняка у тебя просто конвертация цветов поломана.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

Reflector, Шах и мат тебе! BMP, переведённый в С-массив, весит 1 Мб :)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3384
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Таймер не работает

Сообщение Мурик »

Ага, а размер прошивки будем определять по размеру HEX файла. :shock: :facepalm:
TEPEM, разве не знаете что *.c файл компилируется? Думаете что после этого объем картинки по прежнему 1 МБ? :))) :facepalm:
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

Ну это же массив чисел, он его что архивирует?
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Таймер не работает

Сообщение Reflector »

TEPEM, тебе нужно написать/найти простенькую утилитку которая бы загружала на ПК картинку, брала цвет каждой точки, преобразовывала его в RGB565 и сохраняла в виде массива 16-ти битных значений, тогда его размер после компиляции будет 112 КБ.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

Глянул краем глаза даташит на контроллер. Он поддерживает R4G4B4, R5G6B5 и R6G6B6. Судя по коду ТС, он использует R5G6B5 (16 бит на пиксел), но хранит в памяти как R8G8B8.
Спойлер

Код: Выделить всё

for (i = 0; i < 16384; i++)
{
if ( x < 127 )
{
if (i>0)ih = i*3;else ih=3;

r8 = picture1[ih-1]; g8 = picture1[ih-2]; b8 = picture1[ih];

r = ((r8 & 0xF8) >> 3);
g = ((g8 & 0xFC) >> 2);
b = ((b8 & 0xF8) >> 3);


rgb565 = ((uint16_t)(r) << 11) + ((uint16_t)(g) << 5) + ((uint16_t)(b) << 0);



WritePixel(x+56, y+56, rgb565);

x++;
}
Добавлено after 1 minute 25 seconds:
[uquote="Reflector",url="/forum/viewtopic.php?p=3756779#p3756779"]TEPEM, тебе нужно написать/найти простенькую утилитку которая бы загружала на ПК картинку, брала цвет каждой точки, преобразовывала его в RGB565 и сохраняла в виде массива 16-ти битных значений, тогда его размер после компиляции будет 112 КБ.[/uquote]Плюс процессор не будет заниматься это конвертацией и FPS можно поднять до бесконечности.

Добавлено after 2 minutes 43 seconds:
[uquote="TEPEM",url="/forum/viewtopic.php?p=3756774#p3756774"]Ну это же массив чисел, он его что архивирует?[/uquote]Он его компилирует в двоичный массив размерностью 240 x 240 x 3 байт. Можно без потери сократить до 240 x 240 x 2 байт, если сделать предварительную конвертацию RGB888->RGB565 на компе.
Последний раз редактировалось VladislavS Пн дек 16, 2019 13:42:03, всего редактировалось 1 раз.
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

А ведь правда! Вот я туплю, сейчас разберусь с шрифтом и займусь этим, по моему только с прогой могут быть проблемы
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

[uquote="TEPEM",url="/forum/viewtopic.php?p=3756790#p3756790"]по моему только с прогой могут быть проблемы[/uquote]Какие могут быть проблемы? Вот тебе шуточный код :)
Спойлер

Код: Выделить всё

FILE *f_in, *f_out;
f_in = fopen("файл1");
f_out = fopen("файл2");
while(!eof(f_in))
  fwrite(f_out, RGB888toRGB565(fread(f_in, 3)));
fclose(f_in); 
fclose(f_out);
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

Я тоже об этом подумал сначала) Но вспомнил, не вс не делфы у меня нет)

Добавлено after 46 seconds:
Ну а вообще это реализуемо? Использование флешки как хранилища независимого?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

Конечно, почему нет.
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Таймер не работает

Сообщение TEPEM »

[quote="VladislavS",url="/forum/viewtopic.php?p=3756781#p3756781"]Глянул краем глаза даташит на контроллер. Он поддерживает R4G4B4, R5G6B5 и R6G6B6. Судя по коду ТС, он использует R5G6B5 (16 бит на пиксел), но хранит в памяти как R8G8B8.[/quote]
У меня же данные передаются на дисплей по 16 битной шине, значит что 24 что 16 должно одинаково отображать? Почему разница огромная?

Добавлено after 2 minutes 59 seconds:
Я в начале две картинки 128х128 рядом заливал на экран, жалко фоток не осталось, там одна хоть глаз коли
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Таймер не работает

Сообщение VladislavS »

Прочитай datasheet ST7789, там в разделе 8.8 DATA COLOR CODING больше 30 страниц всевозможных вариантов передачи данных. Ну нельзя же всё тыком делать. Надо хоть иногда нарисовать на бумажке карандашиком, посчитать объём данных, скорость их передачи. Разложить где что лежать должно, в каком формате.
Последний раз редактировалось VladislavS Пн дек 16, 2019 14:46:38, всего редактировалось 1 раз.
Ответить

Вернуться в «ARM»