Virgüllü sayıyı rs232 ile gonderemiyorum

Katılım
27 Mar 2008
Mesajlar
35
Puanları
1
Yaş
40
arkadaslar bır pıcten okudugum analogn değerı dıger pıc e rs232 ıle gonderecem ornegın okudugum 4.35 V u gonderemıyorum..rs le 8 bıt verı gonderılıyor.ama float oldugu ıcın 32 bıt make8 ve make32 komutlarını kullandım ama bı turlu yapamadım.bu arada CCS C kullanıyorum.
bırde ben daha sonra rs232 ıptal edıp yerıne rf alıcı verıcı baglayacam orda bole bır sorun olur mu?
lutfen bılen varsa vardım etsın.tsk.

proje1.3.jpg
 
Son düzenleme:
yokmu bı bılen arkadaslar lutfen bunalıma gırdım heryerde kopyala yapırsır bılgıler bısede bulamadım..yanı sımdı bu float degıskenın ondalıklı kısmını ayrı tam sayı kısmını ayrı gonderme sansım yokmu bole bı komut fılan yokmu?
 
Bilgisayar ortaminda aslinda noktali sayi diye bir sey yoktur.
Her sey bitlerden bytlardan olusur.

Hayali bir nokta ve bunun saginda ve solunda tam sayilar vardir.

Neyse gelelim cozume.

Diyelimki 4.35 i karsi tarafa yollamak istiyorsun.

4.35*100=435

435 8 bit ile ifade edilemez o halde 16 bit yani 2 byte dir.

Once yuksek byte i karsiya yollarsin sonrada dusuk byte i.

Karsi taraf pes pese gelen iki byte veriden ilk geleni 16 bit degiskenin yuksek 8 bitine koyar. Ikinci geleni de alt sekizlik alana koyar.

16 bit veriyi 100e bolersen tekrardan 4.35 elde edilir.

435 = 0x1B3

once 0x01 i yolla ardindan da 0xB3 u.

(Yada exponent ve mantisi yollarsin.)

Bu tip sorulari cozmeden once 2 li sistemde sayilar nasil gosterilir onlari iyi bilmen gerekir.
 
hocam cok tsk ılgın ıcın.bende cıldırdım dusunmekten sonra bu yontem geldı aklıma sonrada sayıları yuzler,onlar,bırler olarak ayrıp tek tek yollayacagım.o bur taraftada bıraz kafayı yıyerek bırlestırım heralde :D
 
100 katini gonder. 4.35 V icin 435 gonderirsin
 

Forum istatistikleri

Konular
130,126
Mesajlar
933,361
Kullanıcılar
453,199
Son üye
mosmanali01

Yeni konular

Çevrimiçi üyeler

Geri
Üst