Lugatek
Genel Elektronik & Bilgisayar => Mikrodenetleyiciler, Mikroişlemciler ve FPGA'ler => Atmel => Konuyu başlatan: 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.
-
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.