arkadaşlar kesme oluştuğunda önceden
kurduğumuz alt program çalışacağını biliyoruz
ama bi sorum var
birden fazla kesme kaynağı var bunların her biriyle farklı kesme alt programlarını çalıştıra bilir miyiz?
mesela portb deki ledler kesme kaynağı 1 uyarıldığında azalsın kesme kaynağı 2 uyarıldığında artsın böyle bişi yapabilir miyiz?
yardımlarınızı bekliyorum ... ;D
Kesme alt programında 1.yeni kesmeleri engelle(gie bit) 2.kullandığın kesmelerin flag'larını test et (örn:rb0/intf ve rbhigh/rbif) 3.Hangi flag 1 ise programı onunla ilgili komutlara dallandır(flag'ı temizlemeyi unutma)
yani sonuçta hangi kesme kaynağı olursa olsun sadece bir alt program çalışır öyle mi
teşekkürler sn tyildizak bu hiç aklıma gelmemişti
peki her kesme kaynağının ayrı bir flagı var mı yani alt programda flag testi ile iş yaparsak
pic te kaç kaynak varsa okadar fonksiyonlu iş yapabilir miyiz yoksa birden fazla kaynağın tek bi flagı mı var?
teşekkürler... ;D
Yukarıda da işaret ettiğim gibi, rb0 kesmesi oluştuğunda intcon.1 intf (portb.0 kesme bayrağı) rbhigh kesmesi olduğunda da intcon.0 rbif (portb üst bitleri kesme bayrağı) 1 olur.Zaten bunları manuel olarak temizlemeniz gerekir.
16f serisinde tek kesme vektörünüz var(04h), her kesmede program buraya dallanıyor, kesme kaynağı ne olursa olsun bu vektörde saptanabilir ve buna göre hareket edilebilir.
Pic Asm kitaplarını (pic öğreniyorum vb.) inceleyin, intcon vb.yazmaçlar tam anlamıyla anlatılıyor, bu işi meslek edindiyseniz ya da edinecekseniz ileride kapsamlı projeler için C kullanmanız gerekecek. Picc'yi kullanabilek için de Pic'in yazmaç yapısını tam olarak bilmeniz lazım. Başarılar dilerim.