I2C Aynı cihaz adresi sorunu

Başlatan isa_olcer, 11 Mart 2020, 00:47:32

isa_olcer

Merhaba elimde bir terazi var. Tartım değerini alıp bilgisayara göndermek istiyorum. Terazinin kontrol kartı ile lcd göstergesi  I2C ile haberlerşiyor. Aradaki haberleşmeyi analizör ile dinledim. Display adresini buldum (0x1A). Bende kilo bilgisini almak için pic'e aynı slave adresi verdim. Sorun şu ki bağlantıyı yapınca iletişim bozuluyor. Sanırsam display modülüde pic de aynı adres olduğu için aynı anda cevap veriyorlar. Pic'i slave olarak sadece veri almak için nasıl kullanabilirim?

örnek olarak ekranda "25068" yazdığında giden bilgi: (0x1A) 0x02,0x07,0x01,0x02,0x05,0x00,0x06,0x08
ayar: #use i2c(Slave,Fast,sda=PIN_C4,scl=PIN_C3,force_hw,address=0x1A)


certy

#1
.
TA1USS

OG

#2
Yanlızca sniff etmek gerek,
I2C için yapılırmı?
Ben hiç yapmadım ama niçin olmasın

i2c sniffer  diye aratınca birşeyler çıkıyor.

http://en.radzio.dxp.pl/i2c-sniffer/
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

certy

Analizörünüz I2C adresi 7 bit mi okuyor, 8 bit mi (r/w bitiyle beraber) okuyor?
TA1USS

isa_olcer

Alıntı yapılan: certy - 11 Mart 2020, 09:18:28Analizörünüz I2C adresi 7 bit mi okuyor, 8 bit mi (r/w bitiyle beraber) okuyor?

SDA sinyalini pic e optokuplör ile iletsem düzgün çalışır mı acaba





ziyaretci

Bir tane "schottky diode" iş görür mü acaba?

isa_olcer


Tagli

Denemedim ama bana sanki tek yönlü open drain çıkışlı bir buffer işi çözer gibi geldi. Dinleyici konumdaki PIC, buffer'ın çıkış tarafında olacak. Elbette buffer ve PIC arasındaki I2C hattında da pullup dirençleri olacak. 74??07 gibi bir şey olabilir. Ortalıkta pek bulunmuyor gibi gerçi. Özdisan'da SN7407DR var.
Gökçe Tağlıoğlu

sadogan

Programda ,cevap veren satırları kapatıp denediniz mi?