एक कम प्राथमिकता पर एक रुकावट कार्य को समाप्त करने के लिए सॉफ्टवेयर इंटरप्ट का उपयोग किया जा सकता है। बहुत अधिक विलंबता से बचने के लिए समय पर महत्वपूर्ण कोडिंग को अक्सर एक उच्च बाधित प्राथमिकता दी जाती है। एक बार समयावधि महत्वपूर्ण भाग समाप्त हो जाने के बाद, अतिरिक्त कार्य हो सकते हैं जो मुख्य लूप के लिए बहुत महत्वपूर्ण समय हो सकते हैं, लेकिन अन्य उच्च प्राथमिकता वाले अवरोधों को पकड़ने के लिए उतने महत्वपूर्ण नहीं हैं। निम्न-प्राथमिकता वाले सॉफ़्टवेयर व्यवधान को ट्रिगर करना इसे पूरा कर सकता है।
उदाहरण के लिए, मान लें कि आपके पास अपने स्वयं के टाइमर के साथ कई स्टेपर मोटर्स हैं। टाइमर की गड़बड़ी को कदम घबराना कम करने के लिए एक उच्च प्राथमिकता दी जाती है। सबसे अधिक समय महत्वपूर्ण कार्य एक चरण पल्स की स्थापना या समाशोधन या चरण आउटपुट को आगे बढ़ाने के रूप में सरल हो सकता है। अतिरिक्त कार्यक्षमता की आवश्यकता हो सकती है जैसे त्वरण रैंप की गणना, सेंसर प्रसंस्करण आदि। चूंकि इसे हर चरण पर संसाधित करने की आवश्यकता होती है, इसलिए इसे मुख्य () से संसाधित करना उचित नहीं हो सकता है क्योंकि मुख्य लूप समय बहुत लंबा हो सकता है। ये अतिरिक्त कार्य निम्न-प्राथमिकता वाले सॉफ़्टवेयर व्यवधान द्वारा संसाधित किए जा सकते हैं ताकि अन्य उच्च-प्राथमिकता वाले स्टेपर चैनलों की विलंबता न बढ़े।
एक सॉफ्टवेयर रुकावट और एक फ़ंक्शन के बीच अंतर क्या हैं?
किसी फ़ंक्शन को जहां भी बुलाया जाता है, वहां से तुरंत कॉल किया जाता है और यदि किसी रुकावट से कॉल किया जाता है तो वर्तमान रुकावट प्राथमिकता स्तर को नहीं बदलता है। एक सॉफ्टवेयर रुकावट एक अवरोध ट्रिगर है जो उस बाधा को बुलाएगा जब प्राथमिकता आती है। यदि कोई फ़ंक्शन कॉल उच्च-प्राथमिकता वाले व्यवधान के अंत में डाला गया था, तो फ़ंक्शन उस उच्च-प्राथमिकता के भीतर समाहित हो जाएगा। निम्न-प्राथमिकता वाले सॉफ़्टवेयर रुकावट को ट्रिगर करके और फिर उच्च-प्राथमिकता वाले व्यवधान से लौटकर, कार्यक्षमता को नई (कम) प्राथमिकता पर बुलाया जाता है।