İki İşlem Arasındaki Süreyi Saydırma

uyelken

Üye
Katılım
3 Şub 2013
Mesajlar
4
Puanları
1
Yaş
35
Merhaba arkadaşlar.CCS C ile bir işlem yapamaya çalışıyorum ancak mantığını tam olarak kafama yatıramadığım için kaldım öylece.İşlem şu şekilde:

bir pin lojik 0 dan lojik 1 pozisyonuna geçer sayma başlar.

Daha sonra tekrar lojik 0 dan lojik 1 olur sayma biter.
Sayma değeri saniye cinsinden bir değişkene tanımlanır.Yardımcı olabilecek var mı?
 
dediğin şeyi biraz daha açık ve anlaşılır yazarsan daha iyi olur.farklı işlemler mi farklı portlara mı bağlayacaksın hangi programlama dilini kullanıyorsun kesme kullanırsan sayma işlemini yapabilirsin.biraz araştırırsan bununla ilgili örnek çok.
 
CCS C ile yapmaya uğraşıyorum.Yapmaya çalıştığım şey şu şekilde:

Örnek olarak 30 numaralı porttaki değer lojik 1 olduğu anda bir sayaç devreye girecek bu port zaten çok kısa süre içinde lojik 0 olacak zaten.Ardından belli bir süre sonra bu port tekrar lojik 1 olacak ve bunun tekrar lojik 1 olması ile süre duracak ve bu süre bir değişkene tanımlanacak saniye cinsinden.Örneklere baktım ancak mantığını tam olarak oturtamadım.Yararlanabileceğim bir kaynak varsa gösterirseniz veya yardımcı olursanız sevinirim.
 
pic ne kullanacaksın ve hangi programlama dilini kullanıyorsun ?
 
CCS C yazmıştım zaten. 4mhz kristal.Pic16f877 kullanacağım.
 
saniye gerçek zaman olması gerekmiyorsa yani bir kaç mili saniye önemsiz ise. internetten timer kesmeleri diye araştır. değişkenin 1 olduğunda timer i açarak kullanabilirsin.yanlış hatırlamıyorsam 877 nin 3 tana dahili timeri var. yapmaya başla takıldığın yerde yardım edecek arkadaşlar bulabilirsin. kolay gelsin.
 
Ufak değerler önemsiz ancak timer kullanımını nasıl yapabileceğim konusunda bilgim yok örnek kodlama verebilir misiniz?
 
anlatmak uzun sürecek ccs c kullanacağın göz önünde bulundurursak ve kontrol kaleminde bununl ilgili bir bilgi bulamadım ( sıfırdan anlatım) bilen yada bulan varsa link atarsa iyi olur. başka bir siteden link vereyim. CCS-C Dersleri - PIC Timer Modülleri ve Kullanımı - 1 | Tekno Bakış burada gayet anlaşılır açıklamış. (google dededen daha fazla sonuç elde edebilirsin. ccsc y le alakalı projelerin başka olacaksa serdar çicek hocanın kitabını da tavsiye ederim.
kısaca ön bilgi olarak timerler adındanda anlaşılacağı gibi sayıcılardır.(sayma hızlarını bölücü atayarak değiştirebilirsin saymaya başlayacağı değeride değiştirebilirsin) belirli bir değere (maksimum yada minimum timerine göre değişir.) ulaşınca belirlediğin değerden itibaren saymaya yeniden başlar bu yeniden başlamadan önce kesmesini kullanarak herhangi bir işlem yaptırabilirsin. herhangi bir zamanda da timer in değerini okutabilirsin. ccs c de set_timerx() , get_timerx gibi komutlar kullanılması gerekiyordu kolay gelsin.
 
CCS-C ile PIC Programlama, PIC Timer Modülleri ve Kullanımı - 2 | Tekno Bakış burda da bir kaç örnek le anlatılmış. senin için ccsc de yazılmış hazır kod da yazıp verebilirim/verebilecek de çok arkadaş var istediğin basit bi olay aslında, ama inan bana araştırıp yapman öğrenmen açısından çok daha faydalı olur. sen araştır yapmaya başla takıldığın yerde yardım edelim. kolay gelsin.
 
Son düzenleme:
gelen bilgi 0 iken while komutu ile tutacaksın 1 e geçerken bıraktığı sırada peşinden timer'ı sıfırlayıp saymaya başlatacaksın sonra gene while komutu ile 1 bilgisini tutacaksın 0 a geçerken peşinden hemen get_timer komutuyla timer ın içeriğini bir değişkene atacaksın.
sanırım periyod değilde gelen 1 bilgisinin süresini saymaya çalışıyorsun.
 

Forum istatistikleri

Konular
128,274
Mesajlar
916,380
Kullanıcılar
450,098
Son üye
akaremir31
Geri
Üst