32 bitlik degerleri nasıl 8 er bit olarak gönderebilirim ?

Başlatan husam685, 03 Ocak 2012, 15:03:35

husam685

slm arkadaşlar ccs c ile 32 bitlik veriyi nasıl 8er bite ayırarak verici ile karşı tarafa aktarabilirim. ve karşı tarafta alıcıda nasıl 8 er bitlik veriyi bir araya getirip yazdırabilirim. ufak bir basit örnek verebilirseniz sevinirim. şimdiden teşekkürler.


justice_for_all

void send_to32(int32 x;)
{
     int y,sayac;
     
     for(sayac=0;sayac<4;sayac++)
     {
        y=(x>>(sayac*8)) && 0xFF;
        putc(y);
     }
}



gonderme icin alian kisimda bunun gibi yapilacak
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

husam685

arkadaşlar mesela make8 ve make32 kullansam olmaz mı o daha kolayıma geliyorda örnek verecek olursam.

int32 veri;
int x,y;

x=make8(veri,0) düşük biti
y=make8(veri,2) yuksek biti
putc (x);
putc(y);
yukardaki gibi verici devresine yapsam alıcı kısmında da asagıdaki gibi yapsam olmaz mı

int32 veri;
int x,y;
x=getc();
y=getc()
veri=make32(y,x);

justice_for_all

#4
void send_to32(int32 x;)
{
     int y,sayac;
     
     for(sayac=0;sayac<4;sayac++)
     {
        y=make8(x,sayac) 
        putc(y);
     }
}


bu sekilde yapabilirsiniz make8 li
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

husam685

çok tesekkürler birde sizden  thm433bh bu sensör ile sht75 arasındaki farkı öğrenebilirmiyim. sht75 70 tl  thm433bh ise 36tl

justice_for_all

veya su sekilde ...
void send_to32(int32 x)
{
     int8 *y=(unsigned char*)&x;
     
     int8 sayac;
     
     for(sayac=0;sayac<4;sayac++)
     {
        putc(*y++);
     }
     

}
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay