Страница 46 из 73

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вт май 07, 2013 14:15:42
hd44780
Гляньте у китайцев - http://read.pudn.com/downloads166/sourc ... 16.c__.htm

Попробуйте их инициализацию.

Только осторожно! У них там вышеупомянутый косяк:

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

void LCD_WrCmd(unsigned char cmd)    
{    
    LCD_CLR_CS();   // clear CS pin to ENABLE LCD    
   
    LCD_CLR_RS();   
    LCD_SET_DBL = cmd;   
//    LCD_SET_DBH = (cmd >> 8);   // !!!!????
    LCD_CLR_WR();   
    LCD_SET_WR();   
   
    LCD_SET_CS();   // set CS pin to DISABLE LCD    
}    

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вт май 07, 2013 15:13:19
kentik
hd44780 писал(а): Попробуйте их инициализацию.
ноль внимания. фунт презрения

у меня сейчас так:
подаю питание. включается экран белым зажигаются все пиксели. по программе после включения ждется 1 секунда и происходит инициализация экрана. в этот момент он чуть темнеет. такое чувство, что уменьшается подсветка.
может я как-то коряво вывожу пиксели на экран.
покажите, пожалуйста, самую простую функцию вывода точки на экране.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вт май 07, 2013 20:48:55
КАШАК
Вывод точки тут не при чем. После инициализации дисплей должен заполниться цветным шумом, если не сделать заливку. Проблема в инициализации или передаче данных...

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вт май 07, 2013 21:29:47
kentik
КАШАК писал(а):После инициализации дисплей должен заполниться цветным шумом
типа такого?
Изображение

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вт май 07, 2013 22:48:48
КАШАК
Не, это неправильная инициализация была. Должно быть все заполнено цветными точками. Да, кстати, в моем TFT модуле часть контактов шлейфа была непропаяна должным образом и контакта не было...

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Ср май 08, 2013 10:50:28
kentik
КАШАК писал(а):Должно быть все заполнено цветными точками.
ну странности какие-то. я уже попробовал 4-и разные инициализации. все разные. одна ваша минимальная. другая с предыдущей страницы. третья китайская. последняя ардуиновская.
пропайку пересмотрел с лупой всю.
куда еще смотреть?

может аналогично монохромнику 128х64 надо питание на ножку RESET дать?

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Ср май 08, 2013 10:58:43
КАШАК
Ну так RESET подключен к МК должен быть

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Ср май 08, 2013 10:59:29
kentik
КАШАК писал(а):Ну так RESET подключен к МК должен быть
это нога RST
а есть еще нога RESET
хотя что-то мне подсказывает, что это сброс шилда.


блин. как же хреново без даташита

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Ср май 08, 2013 11:01:19
КАШАК
Ух ты, забавно. А если вместо RST, RESET подключить?

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Чт май 09, 2013 12:48:06
kentik
все получилось. проблема была в переключателе на платке шилда.
в даташите есть такое:
СпойлерQ1: What is 2 way DIP switch on the back of the shield?
A1: The 0~7 pins is used as LCD data bus, whereas the pin0 and pin1 is UART port which is
used by the bootloader when uploading the code. The DIP switcher switch ON/OFF the pin0
and pin1 from the LCD data bus, if it conflicts when uploading the code please switch it OFF.
поигравшись с ним - получилось.

теперь переделываю библиотеку UTFT ардуины.
заливка, квадратики и кружочки уже есть ))

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Чт май 09, 2013 12:53:03
kentik
пардон, если ошибаюсь темой на счет вопроса, но как-то мне вообще не доганть:

в библиотеке ардуины есть функция отрисовки изображения:
Спойлерvoid drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale)
{
unsigned int col;
int tx, ty, tc, tsx, tsy;
int r, g, b;

if (scale==1)
{

LCD_CLR_CS();
setXY(x, y, x+sx-1, y+sy-1);
for (tc=0; tc<(sx*sy); tc++)
{
col=pgm_read_word(&data[tc]);
LCD_Write_DATA(col>>8,col & 0xff);
}
LCD_SET_CS();


}
функция pgm_read_word запрятанна через одно место в файле: pgmspace.h
и выглядит так:
Спойлер#define pgm_read_word(address_short) pgm_read_word_near(address_short)
#define pgm_read_word_near(address_short) LPM_word((uint16_t)(address_short))
#define LPM_word(addr) __LPM_word_enhanced(addr)

#define __LPM_word_enhanced__(addr) \
(__extension__({ \
uint16_t __addr16 = (uint16_t)(addr); \
uint16_t __result; \
__asm__ \
( \
"lpm %A0, Z+" "\n\t" \
"lpm %B0, Z" "\n\t" \
: "=r" (__result), "=z" (__addr16) \
: "1" (__addr16) \
); \
__result; \
}))
не понимаю ее.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Пт май 10, 2013 01:54:49
КАШАК
Можно написать вот так:

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

col=data[tc];

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Пт май 10, 2013 13:45:12
kentik
КАШАК писал(а):Можно написать вот так:
хммм. так не получается.

покажите, пожалуйста, функцию вывода изображения.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Сб май 11, 2013 16:42:40
kentik
совсем туплю чего-то. котята, подскажите: по буквам вывожу нормально все, а как вывести слово?
т.е. как мне разбить слово на буквы?

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Сб май 11, 2013 18:15:45
hd44780
Я вывожу так:

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

// Вывод строки
void DrawString ( char* s, uint16_t x, uint16_t y, uint16_t color, uint16_t backColor, uint8_t isTransparent )
{
 int len = strlen(s);         
 
 DrawString2 ( s, len, x, y, color, backColor, isTransparent );
} // DrawString

// Вывод строки
void DrawString2 ( char* s, int len, uint16_t x, uint16_t y, uint16_t color, uint16_t backColor, uint8_t isTransparent )
{
  int i;
  
  for ( i = 0; i < len; i++)
    y -= DrawChar ( x, y, s[i], color, backColor, isTransparent );
} // LCD_DrawString2
DrawChar выводит один символ и возвращает его ширину. Работает нормально.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Сб май 11, 2013 19:11:20
kentik
hd44780 писал(а):Я вывожу так:
клево. спасибо. я уже разобрался.
попозже выложу свою функцию. если кому-то интересно.

все никак не могу победить вывод картинки. но на данный момент пошел я домой. уже глаза в кучу.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Сб май 11, 2013 20:28:54
hd44780
Я нормально вывожу BMP-шки. Формат пикселя предварительно преобразую к тому, какой требует дисплей.
У меня ILI9320, формат пикселя RRRRRGGGGGGBBBBB.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Сб май 11, 2013 21:40:42
kentik
hd44780 писал(а):Я нормально вывожу BMP-шки. Формат пикселя предварительно преобразую к тому, какой требует дисплей.
У меня ILI9320, формат пикселя RRRRRGGGGGGBBBBB.
у меня такой же.
пользуюсь imageconverter 656

покажите листинг плиииз.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вс май 12, 2013 09:03:43
Chettuser
Народ, слышал что существуют мобильники/коммуникаторы и т.п. с дисплеями с VGA-интерфейсом. С трудом в это верится, но может это так на самом деле? И как тогда отличить их?
Потребовался девайс умеющий общаться с аналоговым выходом видюхи.

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Добавлено: Вс май 12, 2013 10:00:12
VDLab
Нет таких.

Зато с RGB интерфейсом полно, все, что имеет размер более 3,5 дюйма практически наверняка именно этим интерфейсом оснащены. Хотя в последнее время и этот интерфейс уходит в прошлое в пользу последовательного дифференциального, а-ля LVDS, широко применяемого в TFT панелях ноутбуков и мониторов и ЖК телевизоров.

з.ы. совсем забыл - возможно имелись ввиду TFT панели с аналоговым RGB интерфейсом (правда в мобильниках такие не встречал, зато в фотоаппаратах и в дешевых фоторамках и телевизорах они чаще всего и встречаются), но и там с VGA ничего общего нет.