Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

I2C Bilgi

Başlatan Analog, 10 Nisan 2018, 23:24:38

Analog

Herkese merhaba I2C hakkında kafama takılan bir soru var onları sormak isterim.

Mesela mpu-6050 ü zerinden

datasheet te
write
Master S AD+W    REGİSTERADRESS      DATA       P
Slave        ACK                  ACK      ACK

read
Master S AD+W      RA      S    AD+R      NACK  P
Slave          ACK    ACK  ACK      DATA


şeklinde verilmiş.

Benim takıldığım konu ACK daha dogrusu slave cıhazı bıze ACK yı nasıl göndericek ve bizim kodda ACK nın gelip gelmediğini check etmemiz lazım mı ? ( ACK nın bır register adresi var mı)

OptimusPrime

Ack bitine sira geldiğinde master hatti surmeyi birakiyor. Eger slavenin ack göndermesi gerekiyorsa hatti aşşağı slave çekiyor. Master hatta 0 olduğunu gördüğünde slave in hala dinlemede olduğunu anlıyor.

Yazılımsal olarak i2c yapıyorsan masteri bir slavenin dinlediğinden emin olmak için bu biti gozleyebilirsin.

Modül kullanıyorsan zaten bu islem donanimsal olarak yapılacaktır. Bu durumda driver i sen yazıyorsan modülün status registerlarini okuman gerekir haberleşmenin sorunsuz olup olmadığını anlamak için. Eğer driveri hazır kullanıyorsan send gibi bir fonksiyonun geri dondurdugu değeri takip edip gönderdiğin datanin yerine ulaşıp ulasmadigini kontrol edebilirsin.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||