tuş takımından glcd ye karakter gönderme

Başlatan papsukkal, 29 Temmuz 2011, 02:38:19

papsukkal

herkese kolay gelsin

üzerinde çalıştığım projede 4x4 tuş takımından glcd ye karakter göndermek istiyorum ancak başaramadım.

char m[]="1";
char k;

k=kbd_getc;    (k içeriği  '1' ve char tipinde gelmekte )

glcd_text57(x,y,m,1,1);

glcd_text57(x,y,k,1,1);     


burada m değişkeni sanırım dizi olduğu için problemsiz ekrana yansıyor. ancak k değişkenini yazdırmayı başaramadım. debug sırasında k içinde '1' değerini görüyorum. bunu yazdırmanın yöntemi nedir?

işlemci 18f452, glcd wg12864

yardımlarınız için teşekkür ederim

Tagli

#1
Tahminimce kullandığın yazdırma fonksiyonu, 3. argüman olarak char pointer'ı istiyor, yani char*.

Şu şekilde bir dene:
glcd_text57(x,y,&k,1,1);


Düzeltme: Tabi benim yöntemde, işaret edilen char dizisinin sonunda NULL olmadığı için sorun çıkabilir.
Gökçe Tağlıoğlu

Okan AKÇA

char deger[4]; 
sprintf(deger, "%2d"); 
glcd_text57(04, 20, deger, 1, ON);

ahanda buuu ;D

papsukkal

henüz denemediim ama

@tagli hocam pointer için benim k değişkenine *k şeklinde atama yapmam mı gerekiyor;

@cyclone hocam     

sprintf(deger, "%2d" k);

şeklinde mi kullanmalıyım yoksa   

sprintf(k, %2d)    mi olacak


cevaplarınız için teşekkür ederim

papsukkal

@cyclone senin yönteminde ekranda karmaşık şekiller çıkıyor.


bir de pointer denemeliyim ama önce pointer kullanmayı öğrenmem gerekiyor.

Tagli

Ayrica atama yapmana gerek yok, k'yi normal yukleyip fonksiyona adresini atman gerekli.

Ama muhtemelen bu da ise yaramayacak cunku foksiyon dizi sonunda bir null karakteri gormeli dizinin bittigini anlamak icin. Bu aklimdan cikmisti.

Ancak 2 elemanli bir dizi tanimlayip son elemanini null yaparsan, ilk elemanin adresini atarak fonksiyonu kullanabilirsin.
Gökçe Tağlıoğlu

papsukkal

tagli hocam çok teşekkür ederim,

pointer kullanınca diziye gerek kalmıyormuş adres ile problemi çözdüm. dediğiniz gibi muhtemelen yeni değişkene ve atamaya gerek kalmayabilir. bakıcam şimdi.
bu arada pointer kullanımı gözümde büyüttüğüm kadar karmaşık değişmiş. sadece öğrenmek için ihtiyacım olması gerekiyormuş.