Hardware ve Software kesme ?

Başlatan Ruzgarbey, 03 Ocak 2011, 12:37:34

Ruzgarbey

merhaba üstadlar.bildiğiniz gibi daha önceden basicten protona geçeceğimi söylemiştim.proton alışkanlığım olsun diye vede basic kodlarımdaki kesme kullanımından dolayı kodlarımdaki şişmenin giderilmesi amacı ile basicte yazdığım kodları protona çevirmeye karar verdim.protonun bilindiği gibi en büyük + larından biri hardware kesmeleri kullanabilmesi.bismillah deyip işe başladım.yardım dosyasından INTERRUPT olayını aradım ve karşıma on_INTERRUPT goto label   ve  on_hardware_INTERRUPT goto label çıktı.
biraz araştırdım  on_INTERRUPT goto label   tanımlaması software kesme için kullanılıyormuş.yani picbasicteki kesme tanımlamasından bir farkı yok.ve araştırmalarımda kesmenin bu şekilde kullanılması tavsiye ediliyor.
merak edip hardware kesmeyi araştırdım.evet proton bu kesmeyi kullanıyor ama proton kesme kodlarının asm ile yazılmasını tavsiye ediyor programın sağlıklı çalışması için.şimdi protona geçiş sebeblerimden biri olan hardware kesmelerin kullanılması olayı bence battı.benim için protonun bir anlamı kalmadı.üzülerek söylüyorumki çok sevdiğim basic dili kodlamasının sonuna geldim.hiç sevmesemde komutların bir anlam taşımadığı C diline geçiş yapacağım.ustadlar yardımlarınız için çok teşekkür ediyorum.saygılarımla..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

t2

#1
Evet kesme rutini asm ile yazılması tavsiye ediliyor da niçin? Bunu hiç düşündünüz mü?
Ben kesme rutinini yine basic ile yazıyorum krallar gibi çalışıyor. Çünkü bu esnada benim picin yaptığı iş fazla uzun sürmüyor, ve bu arada yeni bir kesme oluşma ihtimali yok. Asm kullanmamı gerektirecek durum yok. Zaten bunları asm ile yazsam protonun yaptığından daha iyi yazamam

Yani uzun lafın kısası siz de donanım kesmesini, proton koduyla krallar gibi çalıştırabilirsiniz.

on_hardware_interrupt  kesme
goto ProgramStart

kesme:

...
  retfie fast

ProgramStart:
;normal işler

goto programstart




MPLAB ve c18 kullanabilirseniz belki daha iyi olur. microchipin hazır örneklerinden yola çıkarak kendi projelerinizi şekillendirebilirsiniz.

Ruzgarbey

hocam sorun burada.benim basicte yazdığım programda hem timer kesmesi hemde usart kesmesi kullanılıyor.ve projede glcd ve daha biçok şey var.dolayısı ile zaman gecikme döngüleri vs kullanılıyor.bu gibi durumlarda proton asm kullanılmasını tavsiye ediyor.ben hardware kesmelerde basic dilini kullanamayacaksam bunun ne anlamı olabilirki değilmi ?
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

Maxim

önemli bir noktayı atlıyorsunuz .

tavsiye etmek = olmuyor anlamına gelmez .

coca cola üzerinde soğuk içiniz yazar, bu bir tavsiyedir.
kimse oda sıcaklığında kola içince ölmemiştir .

Ruzgarbey

Alıntı yapılan: Maxim - 03 Ocak 2011, 13:41:17
önemli bir noktayı atlıyorsunuz .

tavsiye etmek = olmuyor anlamına gelmez .

coca cola üzerinde soğuk içiniz yazar, bu bir tavsiyedir.
kimse oda sıcaklığında kola içince ölmemiştir .
dediğiniz doğrudur hocam.olmuyor anlamına gelmez ama insanın içine bir kurt düşüyor neticede.
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

t2

#5
Kurt düşüyor olabilir, ama bunu düşünmek için müthiş projeleriniz olması lazım. "tüh be puroton hızı yetersiz kaldı, bana ayakbağı oluyor" diyebilmeniz lazım.

Bence sizin program mantığında bir sorun veya beceriksizlik var.

Protonun yaptığı işleri daha güzel ve mükemmel şekilde  ASM ile yaparım diyorsanız bu işler nelerdir? öğrenebilir miyiz?

Murat Mert

S.A.
Donanımsal yada yazılımsal olarak kullandım sizin bahsettiğiniz gibi problemlerle karşılaşmadım. ha şu olay var glcd de normal karekterleri kullanırsan problem yok ama resim basma yada font karekterleri kullanırsan usart kesne ve timer kesme biraz sallanıyor tahminim buda benim amatörlüğümden kaynaklanıyor olabilir.
mert07

Ruzgarbey

Alıntı yapılan: t2 - 03 Ocak 2011, 14:30:03
Kurt düşüyor olabilir, ama bunu düşünmek için müthiş projeleriniz olması lazım. "tüh be puroton hızı yetersiz kaldı, bana ayakbağı oluyor" diyebilmeniz lazım.

Bence sizin program mantığında bir sorun veya beceriksizlik var.

Protonun yaptığı işleri daha güzel ve mükemmel şekilde  ASM ile yaparım diyorsanız bu işler nelerdir? öğrenebilir miyiz?
hocam ben hiç bir yerde protonun hızı yetersiz gibi bir şey yazmadım.program mantığımda kişiden kişiye değişebilecek hatalarım olabilir böyle bir iddiamda yok.protonun yaptığı işleri ben asm de mükkemmel şekilde yaparım diye bir iddiamda yoktur.sanırım konuya vakıf olamadan görüş bildirmissiniz.burada protonu kötülemek gibi bir gayretimde yok.sadece öğrenmek amaçlı soruyorum.diyorumki proton donanımsal kesmelerdeki Kodların ASM ile yazılmasını tavsiye ediyor bunun sebebi nedir ?
Sorduğum soruda bir gariplikmi var acaba ?
ben PBP deki projelerimi Protona geçiriyorum dahili kesmeleri kullanabilmek için.projemde timer,usart,RB0 kesmelerini kullanıyorum.Main programda bir çok hesaplama ve GLCD kullanımı mevcut.öğrenmek istediğim şey ben bu kodları protona geçirip hardware kesme kullanıp kesme kodlarını proton dilinde kullansam sıkıntı olurmuydu.konunun özü budur.
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK