Насколько я понял, просто нет массива русских букв.vlad145 писал(а): Попробовал Ваш проект. Все запускается, кроме отображения русских букв. Вместо них мусор. Не подскажете, в чем косяк? Дисплей LPH8836, только вот какой контроллер я не смог найти.
Юзаем дисплеи от сотовых и других потаскунчиков.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
- Реклама
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Да в том то и дело что есть.uzamar писал(а):Насколько я понял, просто нет массива русских букв.vlad145 писал(а): Попробовал Ваш проект. Все запускается, кроме отображения русских букв. Вместо них мусор. Не подскажете, в чем косяк? Дисплей LPH8836, только вот какой контроллер я не смог найти.
- Вложения
-
- primer.c
- (21.37 КБ) 683 скачивания
Владимир
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
УРАААА! Получилось. Как оказалось нужно было прописать следующее:
if (c>127) {
c=c-57; //убираем отсутствующую часть таблицы ASCII
};
P.S. Осталось с графикой разобраться. Есть идеи как?
if (c>127) {
c=c-57; //убираем отсутствующую часть таблицы ASCII
};
P.S. Осталось с графикой разобраться. Есть идеи как?
Владимир
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Поздравляю!!! Примеров в нете полно для работы с графикой, гуглите.vlad145 писал(а):УРАААА! Получилось. Как оказалось нужно было прописать следующее:
if (c>127) {
c=c-57; //убираем отсутствующую часть таблицы ASCII
};
P.S. Осталось с графикой разобраться. Есть идеи как?
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь http://www.watterott.net/misc/S65-LPH88_1.pdf
Ну а контроллер в LPH8836 такой HD66773 здесь http://www.watterott.net/misc/S65-LPH88_1.pdf
- Вложения
-
- FONTS.rar
- Это фонты для этого
- (1.98 КБ) 296 скачиваний
-
- dispLPH8836forXMEGA.rar
- (3.6 КБ) 353 скачивания
Последний раз редактировалось Alex62 Вт авг 23, 2011 11:24:11, всего редактировалось 2 раза.
Общаюсь на ТЫ. Без расшаркиваний.
- Реклама
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Просто не закрашивать подложку и все. Т.е. убрать кодAlex62 писал(а):Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь http://www.hitachi.com/New/cnews/E/2002/0627/0627.pdf
Код: Выделить всё
else
{
lcd_write(bgcolor);
}
Последний раз редактировалось uzamar Вт авг 23, 2011 09:50:11, всего редактировалось 1 раз.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Да нет. В том коде что есть подложку не закрашивать не получиться. Там используется процедура вывода области экрана. чем-то закрашивать все равно прийдеся. Ну, скажем так, у меня не получилося.
PS. Я не утверждаю что то что мной написано - написано оптимально. Прграммирую я недавно, и опыта еще маловато. Так что критику и принимаю, и приветствую. Заранее спасибо.
PS. Я не утверждаю что то что мной написано - написано оптимально. Прграммирую я недавно, и опыта еще маловато. Так что критику и принимаю, и приветствую. Заранее спасибо.
Последний раз редактировалось Alex62 Вт авг 23, 2011 14:16:32, всего редактировалось 1 раз.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
А ну да... Инкремента в памяти LCD то не будет поэтому и нужно что-то писать.Alex62 писал(а):Да нет. Выводить точку с коодинатами где есть буква. Где фон, там ничего не выводить. В том коде что есть подложку не закрашивать не получиться. Там используется процедура вывода области экрана. чем-то закрашивать все равно прийдеся
PS. Я не утверждаю что то что мной написано - написано оптимально. Прграммирую я недавно, и опыта еще маловато. Так что критику и принимаю, и приветствую. Заранее спасибо.
Для вывода можно использовать что-то вроде этого:
Код: Выделить всё
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);
}
}
}
}
Прорисовка идет слева направо по столбцам.
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Огромное спасибо, вроде начало что-то получаться.
Владимир
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
В Вашем проекте есть процедура вывода картинки: lcd_picture. Вос с ней у меня засада. Пытаюсь вывести картинку 40х40 следующим кодом:Alex62 писал(а):Есть пример. Он писался для Xmega A3, но это без разницы. Там только с координатами вывода где-то напутано. Разобраться я еще не успел, времени маловато. Но все работает. А заодно для энтузизистов программирования задача: там вывод организован как заполнение области 8х14 двумя цветами, текста и подложки. При попытке вывести текст поверх картинки, часть картинки закрашивается. Но если написать кусок кода используя процедуру вывода точки LCD_Pixel(), закрашивания можно избежать. Тогда надписи будут прямо поверх картинки
Ну а контроллер в LPH8836 такой HD66773 здесь http://www.watterott.net/misc/S65-LPH88_1.pdf
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: Юзаем дисплеи от сотовых и других потаскунчиков.
Ну и еще кусочек кода для дисплея L2F50 от того же Сименса S65(и некоторых других Сименсов). Какой контроллер там я не знаю. Но код работает. Проверено. Единственное, опять про координаты вывода фигур. Там местами напутаны Х и У. Найдете где, исправте и отпишитесь. Я не успел. Может, конечно, и неприлично выкладывать кривоватый код, но когда я до него доберусь не знаю. А так кому то полезно окажется.
- Вложения
-
- dispL2F50forXMEGA.h
- (16.74 КБ) 653 скачивания
-
- FONTS.rar
- Фонты
- (1.98 КБ) 267 скачиваний
Общаюсь на ТЫ. Без расшаркиваний.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Ну так картинка с разрядностью const unsigned char gImage_имя файла А в процедуре вывода
void lcd_picture(char x, char y, char w, char h,char rot, flash unsigned int *pic)
Выводится изображение в формате RGB 565 т.е. 2 байта.
void lcd_picture(char x, char y, char w, char h,char rot, flash unsigned int *pic)
Выводится изображение в формате RGB 565 т.е. 2 байта.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Выложите ваш исходник.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.
Где я запутался?
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Вот он.
- Вложения
-
- LPH8836.rar
- (107.03 КБ) 374 скачивания
Владимир
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Ну, скажем, так.vlad145 писал(а):А поподробнее.
Для подготовки картинки я пользую ImgConvert.
Так там есть окошки ФОРМАТ и ФАЙЛ.
Ставлю 16бит и Си.
- Вложения
-
- ImgConvert.rar
- (463.58 КБ) 374 скачивания
-
- img_hard.rar
- (866 байт) 327 скачиваний
Последний раз редактировалось Alex62 Вт авг 23, 2011 12:02:36, всего редактировалось 1 раз.
Общаюсь на ТЫ. Без расшаркиваний.
-
vlad145
- Встал на лапы
- Сообщения: 130
- Зарегистрирован: Пт мар 06, 2009 22:54:37
- Откуда: Курган
- Контактная информация:
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Процедура вывода примерно такая?:
lcd_picture(10,10,32,16,img_hard);
Данная процедура выдает ту же ошибку.
lcd_picture(10,10,32,16,img_hard);
Данная процедура выдает ту же ошибку.
Владимир
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Типа да. Только я предупреждал, что с координатами напутал. Надо поэкспериментировать с Х и У внутри процедуры lcd_picture. Правда это только ориентацию и читаемость картинки затрагивает.vlad145 писал(а):Процедура вывода примерно такая?:
lcd_picture(10,10,32,16,img_hard);
Последний раз редактировалось Alex62 Вт авг 23, 2011 12:23:48, всего редактировалось 1 раз.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
параметров то 6 должно передаваться, а вы передаете 5.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.
Где я запутался?


