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

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

Сообщение VladislavS »

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

Сообщение TEPEM »

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

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

Сообщение Reflector »

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

Сообщение TEPEM »

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

Сообщение Reflector »

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

Сообщение TEPEM »

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

Сообщение Reflector »

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

Сообщение TEPEM »

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

Сообщение Reflector »

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

Сообщение VladislavS »

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

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

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

Сообщение TEPEM »

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

Сообщение Reflector »

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

Сообщение 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 раз.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Сообщение TEPEM »

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

Сообщение 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);
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Сообщение TEPEM »

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

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

Сообщение VladislavS »

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

Сообщение 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 рядом заливал на экран, жалко фоток не осталось, там одна хоть глаз коли
Собутыльник Кота
Аватара пользователя
Сообщения: 2566
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

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

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