11.11.2013, 22:18
|
|
Прописка
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 48
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
|
STM32 mini v3 вывод картинки
Здравствуйте
с этой платкой есть примеры, вот один из них выводит логотип STM и китайские крякозябры.
Хочу нарисовать на дисплее свою картинку. Взял программу BmpCvtDemo, открываю в ней картинку и сохраняю сишный файл, но в каком формате сохранять код? Прикрепил скриншот.
Выкладываю весь проэкт целиком.
На радиокоте проигнорировали мой вопрос.
|
|
|
|
11.11.2013, 22:23
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
У этого дисплея формат цвета 5-6-5. Что именно требуется? Примеров завались.
|
|
|
|
11.11.2013, 22:29
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
russo_turisto,
выводится массив gImage , что в bmp.c
Код:
|
LCD_WriteBMP(0, 0, 299, 200, gImage_11); |
Сам массив сжат RLE .
Код:
|
const unsigned char gImage_11[] = {
/* ABS: 008 Pixels @ 000,000 */ 0, 8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* RLE: 019 Pixels @ 008,000 */ 19, 0x00, 0x00,
/* ABS: 005 Pixels @ 027,000 */ 0, 5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* RLE: 008 Pixels @ 032,000 */ 8, 0x00, 0x00,
/* RLE: 008 Pixels @ 040,000 */ 8, 0x00, 0x00,
/* ABS: 011 Pixels @ 048,000 */ 0, 11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
/* RLE: 021 Pixels @ 059,000 */ 21, 0x00, 0x00,
/* ABS: 007 Pixels @ 080,000 */ 0, 7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* RLE: 009 Pixels @ 087,000 */ 9, 0x00, 0x00, |
__________________
Осторожно , злой кот
|
|
|
|
11.11.2013, 22:39
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
Сообщение от dosikus
|
Сам массив сжат RLE .
|
Блин а вывод без декодирования .
Код:
|
void LCD_WriteBMP(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width, uint8_t *bitmap)
{
uint32_t index;
uint32_t size = Height * Width;
uint16_t *bitmap_ptr = (uint16_t *)bitmap;
LCD_SetDisplayWindow(Xpos, Ypos, Width-1, Height-1);
//LCD_WriteReg(0x03, 0x1038);
LCD_WriteRAM_Prepare();
for(index = 0; index ‹ size; index++)
{
Write_Dat(*bitmap_ptr++);
}
//»Цёґґ°МеґуРЎ
LCD_WriteReg(R80, 0x0000);
LCD_WriteReg(R81, 0x00EF);
LCD_WriteReg(R82, 0x0000);
LCD_WriteReg(R83, 0x013F);
} |
Ну блин и китайцы .
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 11.11.2013 в 22:45.
|
|
|
|
11.11.2013, 22:43
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
|
|
|
|
12.11.2013, 09:54
|
|
Прописка
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 48
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
Ой, извиняюсь.
Я наверно свой пример выложил.
Вот исходный код.
Картинка там так кодируется
PHP код:
|
const unsigned char gImage_11[19206] = { /* 0X00,0X10,0X63,0X00,0X61,0X00,0X01,0X1B, */
0X7D,0XEF,0X1C,0XE7,0XDB,0XDE,0XDA,0XDE,0XFB,0XDE, 0XFB,0XDE,0XDB,0XDE,0XDB,0XDE,
0XDB,0XDE,0XDB,0XDE,0XDB,0XDE,0XDB,0XDE,0XDB,0XDE, 0XDB,0XDE,0XDB,0XDE,0XFA,0XDE,
0XFA,0XE6,0XFA,0XDE,0XFA,0XDE,0XFB,0XDE,0XDB,0XD6, 0XDB,0XDE,0XDA,0XDE,0XDA,0XDE,
0XBA,0XDE,0XDB,0XD6,0XDC,0XD6,0XFC,0XCE,0XFC,0XD6, 0XDB,0XD6,0XDA,0XDE,0XDA,0XDE,
|
В какой программе мне картинку конвертировать в сишный код и какое кодирование использовать для моего исходника?
PHP код:
|
void LCD_WriteBMP(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width, uint8_t *bitmap)
{
uint32_t index;
uint32_t size = Height * Width;
uint16_t *bitmap_ptr = (uint16_t *)bitmap;
LCD_SetDisplayWindow(Xpos, Ypos, Width-1, Height-1);
//LCD_WriteReg(0x03, 0x1038); //Из№ыРиТЄєбПтПФКѕНјЖ¬Ј¬Ѕ«ґЛИҐµфЖБ±О Ј¬Н¬К±Ѕ«WidthєНHightµч»»Т»ПВѕНїЙТФ
LCD_WriteRAM_Prepare();
for(index = 0; index ‹ size; index++)
{
Write_Dat(*bitmap_ptr++);
}
//»Цёґґ°МеґуРЎ
LCD_WriteReg(R80, 0x0000); //Л®ЖЅ·ЅПтGRAMЖрКјµШЦ·
LCD_WriteReg(R81, 0x00EF); //Л®ЖЅ·ЅПтGRAMЅбКшµШЦ·
LCD_WriteReg(R82, 0x0000); //ґ№Ц±·ЅПтGRAMЖрКјµШЦ·
LCD_WriteReg(R83, 0x013F); //ґ№Ц±·ЅПтGRAMЅбКшµШЦ·
}
|
Последний раз редактировалось russo_turisto; 12.11.2013 в 09:56.
|
|
|
|
12.11.2013, 10:57
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
Сообщение от russo_turisto
|
В какой программе мне картинку конвертировать в сишный код и какое кодирование использовать для моего исходника?
|
Image2Lcd , формат Паша уже озвучил ...
__________________
Осторожно , злой кот
|
|
|
Сказали "Спасибо" dosikus
|
|
|
12.11.2013, 11:56
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
А в чем фишка писать в память unsigned char, когда один пиксел занимает в памяти unsigned int?
|
|
|
|
12.11.2013, 12:15
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
А что есть для STM32 "unsigned int"? Это сколько в килограммах 16 или 32? Даже если и 16, то и в таком формате хранить нет смысла, лучше сразу в uint32_t, там полюбому тогда вывод на дисплей быстрее будет.
|
|
|
|
12.11.2013, 12:18
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: STM32 mini v3 вывод картинки
Ну тогда уж и гнать надо через DMA. Иначе зачем вам FSMC? Ногодрыга хватило бы.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:45.
|
|