РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

Форум на ЭЛВО


РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ



  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Архив - только для чтения
Кто работал с LPH8731-3C. Помогите!
Сообщение # 11        
wss60
аватар
  Постов: 4   ОК 
Что-то вроде: функция (и) не нигде не используются и будут игнорированы компилятором.
Точнее сказать не могу т.к. CVAVR не пользуюсь.
Сообщение # 12        
ua3rad
аватар
  Постов: 1   ОК 
Скиньте любой рабочий проект, а то у меня компилируется, но ничего не показывает.
Сообщение # 13        
zoomeron
аватар
  Постов: 23   ОК 
C cvavr разобрался.

Вот решил это всё переделать под arduino. С фигурами и строками всё нормально.

проблема с выводом изображения, при размере картинки 20*20px, изображение рассыпается, при размере 30x20 px оно растянутое и выводится полосами.
Пример оригинала
Получается так

Кусочек кода
Код
void Send_Image (char x, char y, char width, char height, char *img, int rot)  
{  
char x1, y1;
switch (rot)
{
  case 0: case 180:  
  for(y1=y; y1<(y+height); y1++)
  {
   SetArea( x, x1+(width-1), y1,y1);   
   for(x1=x; x1<x+width;x1++)
   {   
    #ifdef _8_BIT_COLOR    //(8-ми битовая цветовая палитра (256 цветов))
    Send_to_lcd( DAT,pgm_read_byte(&(*img++))); //Данные SPI - задаём цвет пикселя
    #else   //(16-ти битовая цветовая палитра (65536 цветов))
    Send_to_lcd( DAT, pgm_read_byte(&(*img++))); //отправляем данные по SPI
    Send_to_lcd( DAT, pgm_read_byte(&(*img++)));    
    #endif
   }
  }
  break;
};
}
[b]Массив изображения[/b]
const char fan_img[] PROGMEM ={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x35, 0x97, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
[b]Функция задания оласти [/b]
void SetArea(char x1, char x2, char y1, char y2)
{
Send_to_lcd( CMD, 0x2A );  //задаем область по X
Send_to_lcd( DAT, x1 );    //начальная
Send_to_lcd( DAT, x2 );    //конечная

Send_to_lcd( CMD, 0x2B );  //задаем область по Y
Send_to_lcd( DAT, y1+1 );  //начальная (у этого контроллера Y отсчитывается от 1, а не от 0)
Send_to_lcd( DAT, y2+1 );  //конечная

Send_to_lcd( CMD, 0x2C );  //отправляем команду на начало записи в память и начинаем посылать данные
}


Где может быть косяк?
Файлы: 6813531.gif (0.2 Kb) · 6171925.jpg (269.3 Kb)
Сообщение # 14        
msmmmm
аватар
  Постов: 891   Друзья 
zoomeron, глубина цвета картинки - 8 бит. Дефайн для
"#ifdef _8_BIT_COLOR" имеется в программе? Иначе будет 16 бит.
Сообщение # 15        
zoomeron
аватар
  Постов: 23   ОК 
msmmmm, Да есть, только там в оригинале библиотеки 8 и 12бит цветность.

Код
#ifdef _8_BIT_COLOR
//8-ми битовая цветовая палитра (256 цветов)
#define GREEN       0x1C
#define DARK_GREEN  0x15
#define RED         0xE0
#define BLUE        0x1F    
#define DARK_BLUE   0x03
#define YELLOW      0xFC
#define ORANGE      0xEC
#define VIOLET      0xE3
#define WHITE       0xFF
#define BLACK       0x00
#define GREY        0x6D
#else
//12-ти битовая цветовая палитра (4096 цветов)
#define WHITE       0xFFF
#define BLACK       0x000
#define RED         0xF00
#define GREEN       0x0F0
#define BLUE        0x00F
#define CYAN        0x0FF
#define MAGENTA     0xF0F
#define YELLOW      0xFF0
#define BROWN       0xB22
#define ORANGE      0xFA0
#define PINK        0xF9E
#endif


А lcd-image-converter конвертирует в 8 или 16 бит.
wacko
Сообщение # 16        
msmmmm
аватар
  Постов: 891   Друзья 
Цитата zoomeron ()
#else //(16-ти битовая цветовая палитра (65536 цветов))
Да, посмотрел свою старую программу - палитра 8 или 12 бит.
Цитата ua3rad ()
при размере 30x20 px оно растянутое и выводится полосами.
Тут явно несогласованность настроек битности индикатора и отправки данных на него.
Тебя ничуть не смущает, что на каждую строку выделено 60 байт? Если цветность 8 бит, должно быть 20, если 12 - 30 байт (если я не ошибаюсь), здесь, похоже - виндосовская палитра 0хFFFFFF цветов. Нужно правильно конвертировать изображение. Для начала - в 8 бит.
В текстовом файле - дамп твоей картинки в разрешении 8 бит, только черный цвет заменен на белый. Если есть желание - впиши в свою программу (нужно будет 0х дописать и адреса убрать), посмотри как будет работать.
Файлы: 5443974.txt (1.4 Kb) · 6813531.bmp (1.4 Kb)
Сообщение # 17        
zoomeron
аватар
  Постов: 23   ОК 
msmmmm, Попробовал, всё та же каша. Я вот смотрю здесь написано: Для преобразования необходимого вам изображения в массив, содержащий цвет пикселей, можно воспользоваться программами Image2Lcd или Nokia Image Creator, которые несложно найти на просторах интернета. Единственное требование – направление вывода массива изображения должно выполняться слева-направо, сверху-вниз! При использовании 12-ти битной палитры, при преобразовании изображения в массив типа char, обязательно старший байт должен идти первым!

По ходу алгоритм не правильный для 12битной палитры.
Сообщение # 18        
msmmmm
аватар
  Постов: 891   Друзья 
zoomeron, хотел бы посмотреть "кашу". Выложенный файл - в цветности 8бит:
Цитата msmmmm ()
В текстовом файле - дамп твоей картинки в разрешении 8 бит
. Там же ровно 400 байт (20х20) smile . Переключи в программе, посмотри.
Сообщение # 19        
msmmmm
аватар
  Постов: 891   Друзья 
Перегнал почти вручную в 12 бит, попробуй.
Файлы: 12_bit_color.txt (4.1 Kb)
Сообщение # 20        
zoomeron
аватар
  Постов: 23   ОК 
msmmmm, Всё то же кусок изображения и отдельные пиксели. Я вот думаю на то что у меня данные отправляются через аппаратный SPI.
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Внимание! Форум переехал на Tehnodium.ru



© 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA