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

poke53280

Üye
Katılım
2 Ara 2009
Mesajlar
4
Puanları
1
Yaş
47
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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…