Dış Kesmeler (External Interrupts) Sonrası Programı Farklı Konumdan Başlatma

Merhabalar, -Dış kesmeden sonra programı kaldığı yerden değil de farklı bir satırdan başlatabilir miyim? *Amacım kesme geldiğinde yapılan işlemi bitirerek 2. işlemden başlamasını sağlamak. Şu anda kullanım biçimim, kesme oluştuğunda yeni bir kesme oluşmasını engellemek için interruptları kapatıyorum, ardından içinde delay bulunan void çağırıyorum ardından tanımlamalar yapıp kesmeleri aktifleştirip normal programıma dönüyorum. Tabii ki haliyle program saçmalıyor. Interrupt fonksiyonunun içinde fazla oyalanmak istemiyorum ama aktif olduğunda işlemlerin ertelenmesi benim için söz konusu değil. Bu konuda bana gidebileceğim doğru bir yol gösterir misiniz? loop’da da sadece if else ile dallanmaları kontrol ediyorum. Not: pastebin.com sitesi açılmadığından kesme kodunu buraya ekliyorum. ------------------------------------------- //Enco Interrupt void EncoStop() { noInterrupts(); Konum = true; MotorDur(); Konum = false; Serial3.println(“EncoStop”); if (Kutu == true) { Serial3.println(“KutuBirak EncoStop”); KutuBirakma = true; } else if (Kutu == false) { Serial3.println(“Kutu Al EncoStop”); KutuAlma = true; } } //Motor Durdurma void MotorDur() { //SeriMesaj = “Motor Dur - Fonksiyon Calisti”; if(Konum == true) { analogWrite(SagMotorileri, 20); analogWrite(SolMotorileri, 20); analogWrite(SagMotorGeri, 20); analogWrite(SolMotorGeri, 20); delay(3000); Durus = false; } else if(Konum == false) { analogWrite(SagMotorileri, 20); analogWrite(SolMotorileri, 20); analogWrite(SagMotorGeri, 20); analogWrite(SolMotorGeri, 20); } analogWrite(SagMotorileri, 0); analogWrite(SolMotorileri, 0); analogWrite(SagMotorGeri, 0); analogWrite(SolMotorGeri, 0); // SeriMesajYaz(); } -------------------------------------------

Benim aklıma ilk goto komutu geldi. goto komutunu kullanabilirsin.