Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.06.2012, 11:23
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Запарился я уже с этими шрифтами. ![Бьюсь об стену](images/smilies/icon_obstenu.gif) Накидал маленький проектик, в котором только вывод трех строк.
1. Вывод символа 12х16
2. Вывод строки 12х16
3. Вывод строки 12х16(вариант 2)
В результате имею следующее. Сам проект прилагаю. Может кто подскажет, как с ними справиться?
|
|
|
|
25.06.2012, 16:17
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
После недолгих экспериментов удалось удалось получить хоть какой то результат. Сделал по аналогии с библиотекой 3310 для Alkatel 311. В ней я дописывал функцию вывода строки, пост #1101. Выводил строку из двух символов и отдельно символ. Размер 24х32. Вот что получилось. Осталось разобраться, почему вместо символов выводятся темные знакоместа.
Есть подозрение, что в данном случае не правильно работает функция LCD_frame(x).
|
|
|
|
25.06.2012, 18:33
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 22
Сказал спасибо: 13
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от vlad145
|
Вывод единичных символов произвожу с помощью функции от MSV, все работает.
|
А вывод 24х32 - функция от Панды. Попробуйте изменить порядок вывода - сначала единичный символ, потом 24х32
|
|
|
|
25.06.2012, 18:59
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от steals
|
А вывод 24х32 - функция от Панды. Попробуйте изменить порядок вывода - сначала единичный символ, потом 24х32
|
Вот результат вывода от Panda. Эффект тот же.
Код:
main.c
-------------------------------
...
char_24_32(8,1,0);
char_24_32s("23",26,0);
...
1100_rus.lib
-------------------------------
...
void char_24_32(char c,char x, char y) // Вывод символа
{
unsigned char i;
gotoxy(x,y);
for ( i = 0; i ‹ 24; i++ )
{
lcd_write(DATA,deg_24x32[c][i]);
}
gotoxy(x,y+1);
for ( i = 24; i ‹ 48; i++ )
{
lcd_write(DATA,deg_24x32[c][i]);
}
gotoxy(x,y+2);
for ( i = 48; i ‹ 72; i++ )
{
lcd_write(DATA,deg_24x32[c][i]);
}
gotoxy(x,y+3);
for ( i = 72; i ‹ 96; i++ )
{
lcd_write(DATA,deg_24x32[c][i]);
}
}
void char_24_32s( char *str, char x, char y) //Вывод строки
{
char u;
while (*str){
for(u=0;u‹*str;u++)
{
char_24_32(*str++,x+(25*u),y);
}
}
}
...
|
|
|
|
26.06.2012, 21:43
|
|
Частый гость
Регистрация: 14.06.2006
Сообщений: 22
Сказал спасибо: 13
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Вам нужно выводить все символы 24х32 по одиночке, так как цифры имеют адрес в константе от 0 до 10 ( или 11 ), а символ "0" в строке имеет стандартный адрес вроде бы 32 ( или даже 4 ![Горд собой](images/smilies/icon_dovl.gif) в кодировке Windows. Попробуйте как-то уменьшить код символа строки ( символ - 48 ), может цифры и пойдут.
|
|
|
|
26.06.2012, 22:04
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от steals
|
Попробуйте как-то уменьшить код символа строки ( символ - 48 )
|
символ- 0x20 или -32
Это если знакогенератор начинается с пробела и соответствует таблице ASCII.
Если у ТС знакогенератор одни цифры и с 0 ???
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 26.06.2012 в 22:08.
|
|
|
|
27.06.2012, 08:52
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от dosikus
|
символ- 0x20 или -32
Это если знакогенератор начинается с пробела и соответствует таблице ASCII.
Если у ТС знакогенератор одни цифры и с 0 ???
|
На сколько я понял, это надо изменять функцию вывода символа. По аналогии с выводом символа 8x8 этой же библиотеки. Если я не прав, поправьте.
До меня как то туго доходит, а почему тогда вывод отдельных символов работает?
Последний раз редактировалось vlad145; 27.06.2012 в 08:56.
|
|
|
|
27.06.2012, 09:17
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Шрифты свои покажите . Да и не мешало бы проект целиком.
ЗЫ У вас ошибка здесь и в последующих выводах символа :
Код:
|
for ( i = 24; i ‹ 48; i++ ) |
Везде должно быть
Код:
|
for ( i = 0; i ‹ 24; i++ ) |
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 27.06.2012 в 09:33.
|
|
|
|
27.06.2012, 11:01
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от dosikus
|
Шрифты свои покажите . Да и не мешало бы проект целиком.
ЗЫ У вас ошибка здесь и в последующих выводах символа :
Код:
|
for ( i = 24; i ‹ 48; i++ ) |
Везде должно быть
Код:
|
for ( i = 0; i ‹ 24; i++ ) |
|
Библиотеку я скачал готовую тут, только попытался дописать под себя.
По поводу ( i = 0; i ‹ 24; i++ ), тут как раз все нормально, посмотрите саму библиотеку сами поймете.
На прикрепленном изображении вывод:
24х32 символ и строка из 2-х символов
12х16 символ и строка из 2-х символов
|
|
|
|
27.06.2012, 12:35
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Ссылку на модель Nokia киньте ...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:18.
|
|