РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ

  • Курс по ускорению работы Мозга на 100%


    • Страница 2 из 3
    • «
    • 1
    • 2
    • 3
    • »
    Архив - только для чтения
    Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Кто работал с LPH8731-3C. Помогите! (Подключение дисплея LPH8731-3C к микроконтроллеру.)
    Кто работал с LPH8731-3C. Помогите!
    Вс, 09.11.2014, 19:33 | Сообщение # 11        
    wss60
    аватар
      Постов: 4   ОК 
    Что-то вроде: функция (и) не нигде не используются и будут игнорированы компилятором.
    Точнее сказать не могу т.к. CVAVR не пользуюсь.
    Вт, 10.02.2015, 10:36 | Сообщение # 12        
    ua3rad
    аватар
      Постов: 1   ОК 
    Скиньте любой рабочий проект, а то у меня компилируется, но ничего не показывает.
    Ср, 27.06.2018, 17:10 | Сообщение # 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)
    Ср, 27.06.2018, 19:39 | Сообщение # 14        
    msmmmm
    аватар
      Постов: 891   Друзья 
    zoomeron, глубина цвета картинки - 8 бит. Дефайн для
    "#ifdef _8_BIT_COLOR" имеется в программе? Иначе будет 16 бит.
    Чт, 28.06.2018, 11:01 | Сообщение # 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
    Чт, 28.06.2018, 21:08 | Сообщение # 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)
    Пт, 29.06.2018, 20:31 | Сообщение # 17        
    zoomeron
    аватар
      Постов: 23   ОК 
    msmmmm, Попробовал, всё та же каша. Я вот смотрю здесь написано: Для преобразования необходимого вам изображения в массив, содержащий цвет пикселей, можно воспользоваться программами Image2Lcd или Nokia Image Creator, которые несложно найти на просторах интернета. Единственное требование – направление вывода массива изображения должно выполняться слева-направо, сверху-вниз! При использовании 12-ти битной палитры, при преобразовании изображения в массив типа char, обязательно старший байт должен идти первым!

    По ходу алгоритм не правильный для 12битной палитры.
    Пт, 29.06.2018, 20:47 | Сообщение # 18        
    msmmmm
    аватар
      Постов: 891   Друзья 
    zoomeron, хотел бы посмотреть "кашу". Выложенный файл - в цветности 8бит:
    Цитата msmmmm ()
    В текстовом файле - дамп твоей картинки в разрешении 8 бит
    . Там же ровно 400 байт (20х20) smile . Переключи в программе, посмотри.
    Пт, 29.06.2018, 21:43 | Сообщение # 19        
    msmmmm
    аватар
      Постов: 891   Друзья 
    Перегнал почти вручную в 12 бит, попробуй.
    Файлы: 12_bit_color.txt (4.1 Kb)
    Сб, 30.06.2018, 19:43 | Сообщение # 20        
    zoomeron
    аватар
      Постов: 23   ОК 
    msmmmm, Всё то же кусок изображения и отдельные пиксели. Я вот думаю на то что у меня данные отправляются через аппаратный SPI.
    Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Кто работал с LPH8731-3C. Помогите! (Подключение дисплея LPH8731-3C к микроконтроллеру.)
    • Страница 2 из 3
    • «
    • 1
    • 2
    • 3
    • »
    Поиск:

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



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