Kesme'den döngüye geri dönmesin!

poke53280

Üye
Katılım
2 Ara 2009
Mesajlar
4
Puanları
1
Yaş
46
Selam,
Başka bir foruma da açtım bu bağlığı ama öğleden beri moderatörler hala onaylamamış!.
Gerçi geçmişte de başka bir konu onaylanmamış sonra da bir süre sonra onaylanmadan silinip gitmişti.

MikroPascal + 16F887 ile yaptığım bir projem var. MikroPascal kullanan yoksa MikroC kullanıcıları bunu nasıl yapardı yazabilirler.

Önce alttaki koda bir göz atalım;

Mesela satir10 işlerken kesme olduğunda, kesmedeki satırların çalışması tamamlanınca satir11'e geri dönmesini isteMİyorum.
Begin - End aralığında ki satir11, satir12, delay_ms(1000) işlemeden End'e gelmesi lazım ya da Begin-End aralığına geri gelmemesi lazım.

Not: DisableContextSaving vs. terimler buldum,nasıl kullanacağımı bilemedim.

Bilen arkadaşlar, paylaşımlarınızı bekliyorum.
Kod:
Kesme;
satir1;
satir2;
Kesme_Sonu;
..
..
..
..
..
dongu:

if a>1 then
begin
satir10;
satir11;
satir12;
delay_ms(1000);
end;

goto dongu;
 
program countera gitmesini istediğiniz yeri kesmenin içinde yükleyin.

NOT: Program countera değer atanabiliyor mu emin değilim.
 
Programı farklılaştırarak başka bir yolla hallettim, ama counter ve counter'a değer atama nasıl olabilir ona da bakalım, öğrenelim, lazım olur. Öğnenirsem yazarım, selamlar.
 
software kesmesinin bilmem ama hardware kesmesinden çıkmazsan reset olur. stack level dolarda mutlaka reset olur. yani alt rutinde kalmak stack doldurmaz ama return olmadan sürekli kesmeye girmek resete yol açar.
 

Yeni mesajlar

Forum istatistikleri

Konular
127,966
Mesajlar
913,950
Kullanıcılar
449,611
Son üye
ramazansanli@

Yeni konular

Geri
Üst