binary lcd'ye nasıl basılır? ccs

Başlatan omereliusuk, 29 Mart 2011, 19:58:27

omereliusuk

x[0],x[1]
binary olarak x dizisinin 0. ve 1. byte'ını lcd'ye aktarmak istiyorum. ccs bir türlü bunu kabul etmiyor. yardımlarınız için teşekkürler.



ogoculu

binary değişkenleri göstermek için %b işareti kullanmalısın,
printf(lcd_putc,"%b , %b",x[0],x[1]);


omereliusuk


Salih

#3
Şöyle yapabilirsin.
signed int8 i;
char yazi[9];
for (i=7;i>=0;i--)
{if (x[0]&0x80) yazi[i]='1'; else yazi[i]='0';x[0] <<= 1;}
yazi[8]='\0';
printf(Lcd_putc,"%s",yazi);

omereliusuk

hocam o şekilde olur zaten.
direkt binary formatında yazabileceğim bir kod arıyorum <tabi böyle bir kod varsa>. maksat öğrenmek.

Salih

Benim bildiğim CCS'de direk olarak bir fonksiyon yok.

mufitsozen

Alıntı yapılan: omereliusuk - 30 Mart 2011, 12:38:50
hocam o şekilde olur zaten.
direkt binary formatında yazabileceğim bir kod arıyorum <tabi böyle bir kod varsa>. maksat öğrenmek.

ANSI C'de boyle bir fonksiyon yok. Bu yuzden binary icin ozel bir fonksiyon yazmak lazim. Bazi compilerlar run-time librarylerinde ek olarak bu tip ozellikler yapiyorlar ama standard olmiyacagi icin bunlari kullanmak yerine kendi fonksiyonunuzu yazmak daha dogru olur (en azindan ANSI C ye bu ozellik eklenene kadar)
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.