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ı 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.