16 Bit Serial Okumak ?
  • Arkadaşlar merhaba...

    Arduino ile ya da herhangi bir geliştirme platformunda serial ile gönderilen veriler byte olarak gönderiliyor... Ancak benim yaptığım projede verileri minimum 16 bit okumam gerek..
    Kafama takılan ise şu benim bir kerede 16 bit veri almam gerekiyorsa ozaman bunu bir array ile mi yapmam gerekiyor. Bu 16 bit veriyi karşılaştırma ile kullanacağım.
    Yani kendi protokolümü oluşturmam gerek. Genel anlamda sormam gerekirse 16 ya da 32 bit veri yi belirlediğim bir değişkene nasıl atarım ?
    Yardımcı olursanız sevinirim teşekkürler...
  • aslında her int,short,char,long,double aynı zamanda bitler kümesidir.

    yani int sayi=5; demek,
    00000101 demektir.

    Senin şunu yapman gerek.
    Gönderirken, 1 tane I/O pinini output yaparak kendi oluşturduğun protokole göre HIGH veya LOW yaparak ve bunu 16/32 kere tekrarlayarak karşı tarafa 16/32 bit gönderebilirsin,

    Aynı yolla, 1 tane I/O pinini input yaparak gelen HIGH ve LOW ları yakalayarak 16/32 tane biti okuyup sonra birleştirerek bir sayı elde edebilirsin.
  • her 8 bit te bir gelen bitleri bir byte değişkene yazın madem kendı protokolunuzu yazacaksınız.
    normal serı protokol
    start bit + 8 tane data bit + stop bit şeklindedir
    sizin protokol
    start bit +32 tane bit + stop bit şeklinde ise
    tespit ettıgınız her biti kaydedıp gerekli değişkene yazacaksınız.
    yada normal protokolu kullanırsanız gelen her byte bılgıyı sırası ıle ayrı değişkene veya array veya buffere kaydedeceksınız.
  • Ekmekçi ve Okaman teşekkürler...

    Serial.readbyte() Bunu sağlıyormuş zaten... Benim böyle bir fonksiyondan haberim yoktu..
    Ama kendimde yapmayı deniyeceğim akşam.. Hem Ekmekçinin dediği şekilde hemde okoman ın dediği şekilde... Teşekkürler..

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.