RTC'ler konusunda sıkıntı yaşıyorum. ds1307 ds3232 entegrelerini kullanmayı denedim fakat sonuç elde edemedim. Devremde 16f877 var ve mikroC ile kodluyorum. Neredeyse 4 gündür uğraşıyorum. Araştırdım, değiştirdim, takla attırdım yine olmadı. RTC lerden herhangi bir değeri bile okuyamıyorum.
Ucu havada cümlelerle, "şöyle yap illa ki olur" larla, varsayımlarla değil; net ve tecrübeye dayanan bilgilerle cevap verirseniz sevinirim. Ayrıca bu yazılımı at çalışır şeklinde hazırcılık da yapmayalım; birinin yazdığı kodu, kurduğu devreyi koyup, çalıştırıp "aaa yaptım oldu!" demek yerine nasıl yapılacağını öğrenip kendim yapmak istiyorum. Öğrenci psikolojisi işte
Geldiğim nokta şu ki;
main{
i2c_init(100000) i2c_start i2c_wr(0xd0) //ds3232 için i2c_wr(0x0f) i2c_wr(0x48) //veya ds1307 için i2c_wr(0x00) i2c_wr(0x00) i2c_stop
i2c_start i2c_wr(0xd0) i2c_wr(0x00) i2c_repeated_start i2c_wr(0xd1) saniye=i2c_rd(0); //Burada saniye hiç artmıyor. //Bu değeri işlemek gerektiğini biliyorum ama yine de sıfır döndürmemeli ! i2c_stop
//aynı şekilde kontrol registerlerini okumaya çalıştığımda da sıfır alıyorum;
Pic basic olsaydı yardımcı olurdum.yardımcı olacaklar için şemada koymalısın. hazır kodlar ile başlamak herzaman için iyidir.vakit kazandırır. ben en az 10 takla atmıştım.bu sayıdan az takla atarsan devre çalışmaz.
Hazır kod kullanmak yerine hazır saat de alabiliriz dimi Aynı hesap. Yapılması gerekenler konusunda yol gösterirseniz - yani pic basic veya C veya herhangi bir dil değilse bile işleyiş olarak - faydası olabilir. Devre şeması şöyle:
Öncelikle lcd çalışıyormu,yani ekrana herhangi birşey yazıyor mu.birşey yazıyorsa lcd modül kısmında sorun yok demektir. eklemeyi unuttum.devre gerçek devremi yoksa proteus mu?
Devre şimdilik proteus simülasyonu. Daha simülasyonda doğru çalıştıramıyorum zaten :) Lcd doğru işliyor. Anladığım kadarıyla rtc i2c ye yanıt vermiyor veya onun gibi bir sorun var.
Mikroc nin i2c kütüphanesiyle ilgili çok fazla kaynak bulamadım. Dökümanları da çok yetersiz kalıyor.
Eğer i2c de sorun yoksa rtc den herhangi bir kontol register ini hiç bir işlem yapmadan (yani Power On Reset durumunda) okuyabilmemiz gerekmez mi?
Örneğin: POR durumu 0 0 0 1 1 1 0 0 olan 0x0E registerini bile 0 olarak okuyor.
Tam anlayamadım ama sorun proteusta imiş. 7.4 kullanıyordum, 6.9 kurup onda denedim ve çalıştı Sonra çalışan devreyi tekrar 7.4 de denedim hala sıfır gösteriyor.
Sürümden sürüme nasıl olur da fark eder anlamadım Elinde 7.4 sürümü için Çalışan ds1307 ve ds3232 kütüphane dosyası olan biri paylaşırsa çok iyi olur.
Devreyi toparlayıp düzenleyip en kısa zamanda burada paylaşırım.
eloko Teşekkür ederim ilgilendiğin için ;)
< Bu mesaj bu kişi tarafından değiştirildi atakan_1907 -- 5 Mayıs 2009; 17:52:10 >
Devremde 16f877 var ve mikroC ile kodluyorum.
Neredeyse 4 gündür uğraşıyorum. Araştırdım, değiştirdim, takla attırdım yine olmadı. RTC lerden herhangi bir değeri bile okuyamıyorum.
Ucu havada cümlelerle, "şöyle yap illa ki olur" larla, varsayımlarla değil; net ve tecrübeye dayanan bilgilerle cevap verirseniz sevinirim.
Ayrıca bu yazılımı at çalışır şeklinde hazırcılık da yapmayalım; birinin yazdığı kodu, kurduğu devreyi koyup, çalıştırıp "aaa yaptım oldu!" demek yerine nasıl yapılacağını öğrenip kendim yapmak istiyorum.
Öğrenci psikolojisi işte
Geldiğim nokta şu ki;
Devreme gelirsek;
Pic in doğru bacaklarına rtc bağlı ve bağlantılar 2k2 ler ile 5v a pullup yapılmış şekilde.
Yardımlarınızı bekliyorum
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.