|
Запутался с указателями и строками в CodeVision |
|
|
|
Jan 31 2008, 14:09
|
Местный
  
Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563

|
Есть библиотечка под CodeVision - для LCD от Siemens. Там есть функции Код u08 buffer[1][4];
void ram_to_lcd(u08 x,u08 y,unsigned char*str,u08 font,u08 rot, ui16 color) { u08 i=0; while (*str !='\0') { put_char(x+i*CHAR_W,y,*str++,rot,font,color); // 0 deg. rotated i++; x++; }
} //******************************************************вывод строка из ram****************************** void lcd_str_ram(u08 x,u08 y,ui16 var, u08 font,u08 rot,ui16 color) { sprintf(buffer ,"%-i",var); ram_to_lcd(x,y,buffer,rot,font,color);
} Автор библиотеки (один из посетителей этого форума) делает так: Код int variable;
void main() { variable=200; lcd_str_ram(65,75,variable,f8x14,0,black);
} У меня же ничего не выводится. Пробовал через sprintf - ничего не выходит. Слабоват я в указателях - ткните носом.
|
|
|
|
|
 |
Ответов
|
Feb 2 2008, 16:09
|
Местный
  
Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563

|
Короче, вот это работает: Цитата char flash *str; ----------
str="yohany babai"; sprintf(s,"%p",str ); ram_to_lcd(65,75,s,f8x14,0,black); И вот это работает: Цитата variable=200; sprintf(s,"%i",variable ); ram_to_lcd(65,75,s,f8x14,0,black); ; Мне только непонятно, зачем нужна функция Lcd_str_ram? По идее, то что я написал во втором работающем варианте и есть функция lcd_str_ram, но, может я и ошибаюсь она коряво написана. А ram_to_lcd работает нормально.
|
|
|
|
|
Feb 2 2008, 16:50
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 8-12-06
Пользователь №: 23 269

|
зачем нужна функция Lcd_str_ram Я хотел её запихнкуть в функцию ram_to_lcd, но тоже запутался в указателях , и решил пока оставить как есть. Если додумаешься как сделать лучше, то я и сам заменю в своём коде, но я же говорил, что я начинающий, а не профи, так что могут быть косячки. Так если вывод переменной и текста на lcd у тебя работает, то что ещё надо?
Насчёт пинов , asm ,как я помню, только в функции lcd_clr? для быстрой очистки дисплея, но её можно переписать на си, а можно просто использовать закрашенный прямоугольник,т.е. lcd_fillrect с белым цветом.
только что посмотрел вместо очистки можно использовать следующее void fill_screen(ui16 color) { ui16 i=0; lcd_wrcmd16(0xEF90); lcd_wrcmd16(0x0500); lcd_wrcmd16(0x0600); lcd_wrcmd16(0x0700); for (i=0; i<DISP_W*DISP_H; i++)lcd_wrdat16(color);
|
|
|
|
Сообщений в этой теме
Зверюга Запутался с указателями и строками в CodeVision Jan 31 2008, 14:09 Kuzmi4 2 Зверюга - как то оно на первый взгляд смотрится.... Jan 31 2008, 14:37 mrKirill Код примера точно для CodeVision? Jan 31 2008, 16:12 mdmitry Цитата(Зверюга @ Jan 31 2008, 17:09) Кодu... Jan 31 2008, 20:38 defunct ЦитатаУ меня же ничего не выводится.
может совсем ... Jan 31 2008, 21:17 bzx 1. Повнимательнее посмотри, что передаёшь в качест... Jan 31 2008, 21:40 defunct Цитата(bzx @ Feb 1 2008, 00:40) 2. Абсолю... Jan 31 2008, 23:14 Зверюга Господа, вывод на LCD работает. СТроки из flash вы... Feb 1 2008, 06:20 bzx Сделай так
Кодchar variable[32];
...
spri... Feb 1 2008, 07:53 Kuzmi4 2 defunct - под рукой конечно счас нету винавра и ... Feb 1 2008, 09:13 Сергей Борщ Цитата(Kuzmi4 @ Feb 1 2008, 11:13) То ест... Feb 1 2008, 11:10 defunct Цитата(Kuzmi4 @ Feb 1 2008, 12:13) То ест... Feb 1 2008, 11:52 Зверюга Цитатаchar variable[32];
...
sprintf ( variable, ... Feb 1 2008, 10:44 bzx Цитата(Зверюга @ Feb 1 2008, 13:44) ЧТо-т... Feb 1 2008, 11:13 Kuzmi4 2 defunct - стоп:
1) "...Если variable - масс... Feb 1 2008, 12:09 defunct Цитата(Kuzmi4 @ Feb 1 2008, 15:09) 2 defu... Feb 1 2008, 12:19 Kuzmi4 2 defunct - я на счёт
(char *)p1 = (char *)0x10... Feb 1 2008, 12:36 defunct Цитата(Kuzmi4 @ Feb 1 2008, 15:36) Просто... Feb 1 2008, 12:47 Kuzmi4 2 defunct - ладно, как доберусь к винавру с студие... Feb 1 2008, 12:56 defunct Ок, доберетесь - отпишите. Feb 1 2008, 13:02 BelTech 2 зверюга
ты вариант от bzx пробовал? у меня вро... Feb 1 2008, 19:00 Kuzmi4 2 defunct - пробовал специально
func( buffer );
... Feb 1 2008, 22:36 Зверюга BelTech
Цитатадавно писал, уже не помню, пока всё ... Feb 2 2008, 06:15 Зверюга BelTech
кстати, какова скорость, fps?
У меня что-т... Feb 2 2008, 17:07 BelTech да, закрашенный прямоугольник на глаз долго рисует... Feb 2 2008, 17:18 Зверюга И вот еще что... у немцев есть библиотека glcd - н... Feb 2 2008, 17:32 BelTech только что, убирал spi2x , странно, скорость отрис... Feb 2 2008, 17:49 Зверюга Нет. Ну выложи с иконками. Feb 2 2008, 18:05 BelTech вот недоделанный проект, может пригодиться. Feb 2 2008, 18:19 Зверюга все работает, иконки грузятся, спасибо. однако над... Feb 2 2008, 18:36 BelTech ну так у этих людей и надо спрашивать про fps, мен... Feb 2 2008, 18:39
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|