kesme

Başlatan styx75, 25 Mayıs 2013, 14:50:28

styx75

selam..
arkadaşlar örnek olarak rbo kesme ile kesme alt programına yönlendirdik,kesme alt programına ilk girişde kesmeleri iptal ettik ,,kesme programı içinde rbo girişininin lojik seviyesini kontrol edip başka bir port çıkışını kontrol edebilirmiyim..

F®T

rb0 kesmesi olduğunda program kesme alt programına dallanır.alt programda rbo kesmesini istersen iptal eder istediğin çıkışı aktif edersin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

styx75

teşekkür ederim öncelikle
ayrıca..rbo tuşuna bastıgımız andamı kesme programına girer yoksa tuşu bıraktıgımız andamı..

F®T

kesme ayarlarında ayarlayabilirsin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

styx75

birazdaha bilgi verirsen sevinirim :)

ete

RB0 kesmesi seçenekli olarak iki şekilde gerçekleşir.
Birincisi PORTB.0 pini LOW konumdan HIGH konuma geçiş anında  . bunun için OPTION_REGISTERI 6 nolu biti 1 yapılmalıdır.
İkincisi PORTB. pini HIGH konumdan LOW konumuna geçerken , bunun için  OPTION_REGISTERI 6 nolu biti 0 yapılmalıdır.

Biraz daha bilgi derken neyi kast ediyorsun anlamadım. Verilecek başka şey kalmadı ki?

Hangi konuda bilgi istediğini sen bildirsen daha iyi olacak sanırım.

Ete


styx75

teşekkür ederim..
kesme ayarları nasıl yapılması gerektigiyle ilgili bilgi istemiştim siz yazmışsınız  zaten..

ete

Ders notlarında var bunlar ama yeniden vereyim,
1. INTCON registerine INTCON=%10010000   şeklinde değer vereceksin.
    Bit 7 genel kesmeleri açıyor, Bit-4 ise PortB.0 kesmesini açıyor.
2. Option registeri 6. biti ile kesmenin ne şekilde oluşcacağınıbelirleyeceksin.

3. ON INTERRUPT GOTO KESME şeklinde bir komut satırı ile de kesme oluşunca KESME etiketine git komutunu  vermiş olacaksın.
Hepsi bu kadar.
Kesme etiketi formatı şöyle;
DISABLE 'kesme içinde yeniden kesme oluşması engelleniyor
KESME: 'eitket adı
...
...
INTCON.1=0  'RB0/INT Bayrağı (flag) silindi.
RESUME
ENABLE

Kesme içinde yalnızca GOSUB ile bir başka etikete gidemezsin. Onun dışında hangi komutu kullanırsan kullan.

Ete

styx75

kusura bakmayın arkadaşlar ..yeni olunca yanlış birşey yapmaktan korkuyor insan..ee birda yaş
40 olunca zor anlıyosun biraz :)

styx75

arkadaşlar bir sorum daha olacak..
kesme programından sonra resume komutu ile program kaldıgı yere dönüyor peki ,
kaldıgı yer değilde programın başına yönlendirilebilirmi yani sakıncası varmıdır..
saygılar...

ete

Her nekadar kullanım klavuzu buna müsaade ediyor isede program bundan hoşlanmamaktadır.
Bu nedenle ben ve benim gibi bu işe çare arıyanlar işaretçi kullanırkar.
Kesme içinde bir bit değişkenini set edersin. Program kaldığı yere dönünce orada ;
If işaretçi=1 then şuraya git gibi bir komut satırı ile programı biraz gecikme ile istenen bölüme aktarmak mümkün olur. Tabiiki gidilen yerde işaretçiyi sıfırlamak gerekir.
Ete

Powered by EzPortal