Страница 12 из 73
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 08:00:02
uzamar
vlad145 писал(а):
Попробовал Ваш проект. Все запускается, кроме отображения русских букв. Вместо них мусор. Не подскажете, в чем косяк? Дисплей LPH8836, только вот какой контроллер я не смог найти.
Насколько я понял, просто нет массива русских букв.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 08:34:30
vlad145
uzamar писал(а):vlad145 писал(а):
Попробовал Ваш проект. Все запускается, кроме отображения русских букв. Вместо них мусор. Не подскажете, в чем косяк? Дисплей LPH8836, только вот какой контроллер я не смог найти.
Насколько я понял, просто нет массива русских букв.
Да в том то и дело что есть.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 08:49:11
vlad145
УРАААА! Получилось. Как оказалось нужно было прописать следующее:
if (c>127) {
c=c-57; //убираем отсутствующую часть таблицы ASCII
};
P.S. Осталось с графикой разобраться. Есть идеи как?
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 09:09:45
uzamar
vlad145 писал(а):УРАААА! Получилось. Как оказалось нужно было прописать следующее:
if (c>127) {
c=c-57; //убираем отсутствующую часть таблицы ASCII
};
P.S. Осталось с графикой разобраться. Есть идеи как?
Поздравляю!!! Примеров в нете полно для работы с графикой, гуглите.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 09:35:23
Alex62
Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь
http://www.watterott.net/misc/S65-LPH88_1.pdf
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 09:42:45
uzamar
Alex62 писал(а):Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь
http://www.hitachi.com/New/cnews/E/2002/0627/0627.pdf
Просто не закрашивать подложку и все. Т.е. убрать код
И кстати сдвиг бита лучше делать сдвигом, а не делением.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 09:49:39
Alex62
Да нет. В том коде что есть подложку не закрашивать не получиться. Там используется процедура вывода области экрана. чем-то закрашивать все равно прийдеся. Ну, скажем так, у меня не получилося.
PS. Я не утверждаю что то что мной написано - написано оптимально. Прграммирую я недавно, и опыта еще маловато. Так что критику и принимаю, и приветствую. Заранее спасибо.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 10:24:12
uzamar
Alex62 писал(а):Да нет. Выводить точку с коодинатами где есть буква. Где фон, там ничего не выводить. В том коде что есть подложку не закрашивать не получиться. Там используется процедура вывода области экрана. чем-то закрашивать все равно прийдеся
PS. Я не утверждаю что то что мной написано - написано оптимально. Прграммирую я недавно, и опыта еще маловато. Так что критику и принимаю, и приветствую. Заранее спасибо.
А ну да... Инкремента в памяти LCD то не будет поэтому и нужно что-то писать.
Для вывода можно использовать что-то вроде этого:
Код: Выделить всё
void LCD_PutChar(u16 x,u16 y,u8 c,u16 charColor)
{
u16 i=0;
u16 j=0;
u8 tmp_char=0;
for (i=0;i<16;i++)
{
tmp_char=ascii_8x16[((c-0x20)*16)+i];
for (j=0;j<8;j++)
{
if ( (tmp_char >> 7-j) & 0x01 == 0x01)
{
LCD_DrawPoint(x+j,y+i,charColor);
}
}
}
}
8-ширина символа, 16-высота.
Прорисовка идет слева направо по столбцам.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:20:10
vlad145
Огромное спасибо, вроде начало что-то получаться.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:30:27
vlad145
Alex62 писал(а):Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь
http://www.watterott.net/misc/S65-LPH88_1.pdf
В Вашем проекте есть процедура вывода картинки:
lcd_picture. Вос с ней у меня засада. Пытаюсь вывести картинку 40х40 следующим кодом:
lcd_picture(10,10,40,40,img_hard);
в результате получаю следующее:
function argument #5 of type 'unsigned char [806]' is incompatible with required parameter of type 'unsigned char'
Может это быть связано с программой конвертером? У
image2lcd заголовок файла
const unsigned char gImage_имя файла, а в функции указано
img_hard.
Где я запутался?
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:32:43
Alex62
Ну и еще кусочек кода для дисплея L2F50 от того же Сименса S65(и некоторых других Сименсов). Какой контроллер там я не знаю. Но код работает. Проверено. Единственное, опять про координаты вывода фигур. Там местами напутаны Х и У. Найдете где, исправте и отпишитесь. Я не успел. Может, конечно, и неприлично выкладывать кривоватый код, но когда я до него доберусь не знаю. А так кому то полезно окажется.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:42:14
Alex62
Ну так картинка с разрядностью const unsigned char gImage_имя файла А в процедуре вывода
void lcd_picture(char x, char y, char w, char h,char rot, flash unsigned int *pic)
Выводится изображение в формате RGB 565 т.е. 2 байта.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:44:46
vlad145
А поподробнее.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:46:36
uzamar
vlad145 писал(а):
В Вашем проекте есть процедура вывода картинки: lcd_picture. Вос с ней у меня засада. Пытаюсь вывести картинку 40х40 следующим кодом:
lcd_picture(10,10,40,40,img_hard);
в результате получаю следующее:
function argument #5 of type 'unsigned char [806]' is incompatible with required parameter of type 'unsigned char'
Может это быть связано с программой конвертером? У image2lcd заголовок файла const unsigned char gImage_имя файла, а в функции указано img_hard.
Где я запутался?
Выложите ваш исходник.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:48:55
vlad145
Вот он.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:52:11
Alex62
vlad145 писал(а):А поподробнее.
Ну, скажем, так.
Для подготовки картинки я пользую ImgConvert.
Так там есть окошки ФОРМАТ и ФАЙЛ.
Ставлю 16бит и Си.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 11:59:31
vlad145
Процедура вывода примерно такая?:
lcd_picture(10,10,32,16,img_hard);
Данная процедура выдает ту же ошибку.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 12:17:42
Alex62
vlad145 писал(а):Процедура вывода примерно такая?:
lcd_picture(10,10,32,16,img_hard);
Типа да. Только я предупреждал, что с координатами напутал. Надо поэкспериментировать с Х и У внутри процедуры lcd_picture. Правда это только ориентацию и читаемость картинки затрагивает.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 12:22:38
vlad145
будем искать...
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Добавлено: Вт авг 23, 2011 13:07:17
uzamar
vlad145 писал(а):
В Вашем проекте есть процедура вывода картинки: lcd_picture. Вос с ней у меня засада. Пытаюсь вывести картинку 40х40 следующим кодом:
lcd_picture(10,10,40,40,img_hard);
в результате получаю следующее:
function argument #5 of type 'unsigned char [806]' is incompatible with required parameter of type 'unsigned char'
Может это быть связано с программой конвертером? У image2lcd заголовок файла const unsigned char gImage_имя файла, а в функции указано img_hard.
Где я запутался?
параметров то 6 должно передаваться, а вы передаете 5.