Lugatek

Genel Elektronik & Bilgisayar => Mikrodenetleyiciler, Mikroişlemciler ve FPGA'ler => Atmel => Konuyu başlatan: semiconnector - 10 Mart 2015, 16:38:16

Başlık: Arduino kaydirma operatörü
Gönderen: semiconnector - 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.
Başlık: Ynt: Arduino kaydirma operatörü
Gönderen: __root - 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.