ahmetyildizayka
Üye
- Katılım
- 1 Şub 2020
- Mesajlar
- 5
- Puanları
- 1
- Yaş
- 37
Arkadaşlar iyi çalışmalar diliyorum.
Arduino ile Timer ISR konusunu öğrenmeye çalışıyorum. İşin mantığını anlamaya çalışıyorum.
Neyi neden yaptığımı anlamak için sizlere bir kaç soru sorma ihtiyacı duydum.
Timer0 da kullanılan 8 bitlik TCNT0 registeri
0 dan başlayıp 255 TOP değerine kadar sayıp sıfırlanıyor;
TCTN0 registerinin her bir değer değişimi ne kadar sürede yapılıyor.
Bunu nasıl hesaplayoruz.
Bazı şeyleri anladım ama kafam biraz karışmış durumda.
Örneğin Uno için yazacak olursam.
Kristal Hızı 16.000.000 ( 16 MHZ )
Kiristalin 1 Hertz sinyal üretmesi için gerekli süre
1 Hertz = 1/16.000.000 = 0,0000000625 saniye ;
Bu değere göre 1 mikrosaniye için Kristal 16 kez sinyal üretmesi gerekir.
1 um= 0,0000000625 * 16 = 0.000001
Bunları anladım ama TCNT0 değeri 250 değerine geldiğinde ne kadarlık bir süre geçmiş oluyor.
Örneğin 400 milisaniyede bir kesme oluştururken neye göre hesap yapıyoruz gibi sorulara kafamda
cevap bulamadım.
Timerların kesme (interrupt) konularında kafam bayağı karıştı. Hesaplamaların nasıl yapıldığını ve fomüllerin nereden geldiğini anlamadan bir şeyler yapmayı pek sevmiyorum. Şunu şuraya yazın çalışır şekilinde çokca kaynak var ama işin çalışma sistemini detaylı ve açıklayıcı anlatan bi kaynak bulamadım. Neyi neden yaptığımı anlamaya çalışıyorum.
Bilgili arkadaşlardan benim gibi cahil insanların anlayabileceği şekilde açıklayıcı olarak cevap yazmalarını rica ediyorum. Tüm cevaplar için teşekkür ederim.
Arduino ile Timer ISR konusunu öğrenmeye çalışıyorum. İşin mantığını anlamaya çalışıyorum.
Neyi neden yaptığımı anlamak için sizlere bir kaç soru sorma ihtiyacı duydum.
Timer0 da kullanılan 8 bitlik TCNT0 registeri
0 dan başlayıp 255 TOP değerine kadar sayıp sıfırlanıyor;
TCTN0 registerinin her bir değer değişimi ne kadar sürede yapılıyor.
Bunu nasıl hesaplayoruz.
Bazı şeyleri anladım ama kafam biraz karışmış durumda.
Örneğin Uno için yazacak olursam.
Kristal Hızı 16.000.000 ( 16 MHZ )
Kiristalin 1 Hertz sinyal üretmesi için gerekli süre
1 Hertz = 1/16.000.000 = 0,0000000625 saniye ;
Bu değere göre 1 mikrosaniye için Kristal 16 kez sinyal üretmesi gerekir.
1 um= 0,0000000625 * 16 = 0.000001
Bunları anladım ama TCNT0 değeri 250 değerine geldiğinde ne kadarlık bir süre geçmiş oluyor.
Örneğin 400 milisaniyede bir kesme oluştururken neye göre hesap yapıyoruz gibi sorulara kafamda
cevap bulamadım.
Timerların kesme (interrupt) konularında kafam bayağı karıştı. Hesaplamaların nasıl yapıldığını ve fomüllerin nereden geldiğini anlamadan bir şeyler yapmayı pek sevmiyorum. Şunu şuraya yazın çalışır şekilinde çokca kaynak var ama işin çalışma sistemini detaylı ve açıklayıcı anlatan bi kaynak bulamadım. Neyi neden yaptığımı anlamaya çalışıyorum.
Bilgili arkadaşlardan benim gibi cahil insanların anlayabileceği şekilde açıklayıcı olarak cevap yazmalarını rica ediyorum. Tüm cevaplar için teşekkür ederim.