sprintf ile yazdırma sorunu

Başlatan Chan86, 30 Mayıs 2010, 15:45:11

Chan86

İyi günler arkadaşlar.2 ayrı sprintf kullanarak 2 ayrı dizini lcd nin 1. ve 2. satırına yazdıramıyorum.1. saırda v= diyerek istediğim şekilde yazıyor.Ancak ikinci satırda I= oalrak başlaması gerekirken hiç birşey yazmadan başlıyor.Kod aşağıdadır.Yardımcı olaiblirseniz çok sevinirim.

Saygılarımla.

unsigned char x,y,z,t;
unsigned char v[]="V=";
unsigned char i[]="I=";
sprintf(v+1,"%d.%dmV",x,y);
lcd_goto(0x00);
lcd_puts(v);
sprintf(i+2,"%d.0%dA",z,t);
lcd_goto(0x40);
lcd_puts(i);

orhanc

char buff1[10];

sprintf(buff1,"%02d:%02d:%02d",min,sec,msec);

lcd_puts(buff1);


Bu şekilde kullanmayı denedin mi ?
i'm doing nothing... Giddy Up  http://www.drorhan.com

Chan86

unsigned char x,y,z,t;
unsigned char v[]="V=";
unsigned char i[]="I=";
sprintf(v+1,"%d.%dmV",x,y);
lcd_goto(0x00);
lcd_puts(v);
sprintf(i+2,"%02d.0%02dA",z,t);
lcd_goto(0x40);
lcd_puts(i);

Yani bu şekilde mi?

orhanc

v+1 diye bir değişkenin yok ki onu ne diye kullanmaya çalışıyorsun. +1 ne için ekliyorsun anlamadım doğrusu

sprintf(DEGISKENADI,"%02d:%02d:%02d",min,sec,msec);

unsigned char x,y,z,t;
unsigned char v[]="V=";
unsigned char i[]="I=";
sprintf(v,"%d.%dmV",x,y);
lcd_goto(0x00);
lcd_puts(v);
sprintf(i,"%02d.0%02dA",z,t);
lcd_goto(0x40);
lcd_puts(i);
i'm doing nothing... Giddy Up  http://www.drorhan.com

Chan86

v den veya ı dizininden sonra 2 boşluk bırakmasını için yani "V=" 2 karakter olduğu için v dizininden 2 boşluk bıraktıktan sonra veriyi yazdırmak için.Ama dediğiniz gibi yaptım ve sorunsuz çalıştır.Teşekkür ederim.

orhanc

şöyle birşey yapabilirsin

lcd_puts("1-");
lcd_puts(i);

arka arkaya veriyi gönderirsen o kendini pozisyonunu ayarlar zaten.

ekrana
"1- Değişendeki veri "
yazmış olursun
i'm doing nothing... Giddy Up  http://www.drorhan.com