PDA

Tam Sürümünü Görmek İçin : Karakteri binary'e çevirmek?


egitim_zayiati
07/10/2007, 22:22
void printChar(int character){
WrPortI((int) character); // 8 biti porta yolluyor
}

void printLine(char* character){
int i;

for(i = 0; i < strlen(character); i++){
printChar((int) *(character + i));
}
}

void main(){
printLine("Deneme yazısı");
}
Selamlar;
Elimdeki lcd ekrana karakter girebilmem için harfleri 8 bitlik binarye çevirip öyle yollamam gerekiyor. Üstteki kodun görevi bunu yapmakmış ancak nasıl olduğunu anlayamadım. Karaktere sayı eklemek garip geldi bana.. Örnekle açıklayabilirseniz sevinirim.
Teşekkürler..


half_life
07/10/2007, 22:52
anladığım kadarıyla burada karaktere sayıyı eklememiş character bir karakter dizisi. çünkü strlen(character) demiş. yaptığı şey char türden dizinin her bir elemanını int e çevirerek porta yolluyor. çıkışta olması gereken int türden bilgi. çevirmeyi onun için yapıyor.

Karaktere sayı çevirme olayını sanırım anlamışsındır. character char dizi olduğu için başlangıç adresi oluyor aynı zamanda. adresi 1 er arttırarak diğer elemanlarına * operatörü ile erişiyor.

egitim_zayiati
07/10/2007, 23:49
Teşekkürler cevap için.:hey: Dizilerin hep dizi[sayı] şeklinde kullanıldığını gördüğümden karışıklık oldu. Bir de binary değil de ascii'ye çeviriyormuş, başlık hatalı durumuna düştü öyleyse..