Şimdi, I 2 C verilerinin ve saat satırlarının (SDA ve SCL) çekme dirençlerine sahip olması gerektiğini fark ettim.
Şey, aşağıdaki şemaya göre DS1307 RTC'yi ( veri sayfasına bakınız ) kullanarak birkaç saat inşa ettim . Her iki çekme direncini de çıkardığımı fark et.
Her iki saat de iyi çalışıyor, bunlardan biri 3 aydan fazla bir süredir çalışıyor. Bu nasıl mümkün olabilir? Her durumda bilmek istedim:
I 2 C toplamaları çıkarıldığında ne olur ?
Çıkarmaların olmaması, anakartımdaki bu iki IC'den herhangi birine zarar verebilir mi?
Ben, ATmega328P’yi, verdiğim şemalardaki gibi bir DS1307 RTC’ye bağlanma konusundaki özel davamı ele alan cevapların peşindeyim, ancak soru çok geniş olmazsa, genel olarak alımların genel olarak ihmal edildiğinde ne olacağını bilmek faydalı olacaktır. yani, bir diğer senaryolarda 2 C işlemi.
PS. Cevabı bulmak için Net'i araştırdım, ancak çekişlerin boyutlandırılmasıyla ilgili makaleleri bulabilirim.
Güncelleme: Arduino IDE 1.03 kullanıyorum ve ürün bilgim DS1307RTC Arduino lib'i kullanarak RTC'yi kullanıyor (fonksiyonlarını RTC.read()
ve işlevlerini kullanarak RTC.write()
). Bu lib, sırayla Wire.h
RTC ile konuşmayı kullanır .
Güncelleme 2: Aşağıda, I 2 C'nin harici çekmeler olmadan nasıl çalıştığını açıklamak için çektiğim bir seri çekim dizisi bulunmaktadır .
Güncelleme 3 (I 2 C pullup'lar eklendikten sonra ): Aşağıda, I 2 C satırlarına (aynı panodaki) uygun (4K7) çekme dirençleri ekledikten sonra çektiğim bir başka seri çekim serisi aşağıdadır . Yükselme süreleri yaklaşık 5 µs'den 290 ns'ye düştü. Ben 2 C şimdi çok daha mutlu.