Welcome, Ziyaretçi

Gönderen Konu: Arduino kaydirma operatörü  (Okunma sayısı 2938 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

semiconnector

  • Teğmen
  • ***
  • İleti: 101
  • Teşekkür: 2
Arduino kaydirma operatörü
« : 10 Mart 2015, 16:38:16 »
Merhaba arkadaslar arduinoda kaydirma operatörünü sensör okumada kullaniyorum. Aslinda calistirdimda ama anlamadigim birkac konu var.

sensor okurken mesela x akse icin
 x = Wire.read() <<  8;         // X msb
 x |= Wire.read();                // X lsb

bu sekilde yazdim calisti ama neden 8 kere kaydirdigimizi tam anlayamiyorum. Bilen arkaslar detayli bir sekilde anlatabilir ise cok sevinirim.

__root

  • Teknik Destek
  • Teğmen
  • ******
  • İleti: 209
  • Teşekkür: 30
Ynt: Arduino kaydirma operatörü
« Yanıtla #1 : 11 Mart 2015, 09:36:20 »
Merhaba

Bu tamamen kullandığınız sensör ve haberleşme yapısı ile ilgili. Wire.read() komutunu kullandığınızda slave'den ancak 8 bit çekebilirsiniz. Fakat okumak istediğiniz veri 8 bitten daha büyük ise ne olacak? Bu durumda iki ya da 3 parti şeklinde veriyi 8'er bit olarak çekeceksiniz. Çektiğiniz ilk verinin yanın sonraki çekeceğiniz veriyi yerleştirebilmek için de bir öncekini 8 bit sola öteleyeceksiniz ardından açılan yere yeni veriyi ekleyeceksiniz. Bu verinizin büyüklüğüne göre tekrarlayıp gider.