AVR interrupts

अचानक पण अनपेक्षित नव्हे

एव्हीआर कंट्रोलरच्या हार्डवेअर मधे अनेक घटना एकाच वेळी घडत असतात. एखादा टायमर ठरलेल्या वेळा नंतर थांबणे, काउंटरचा काउंट ठराविक अंकाच्या वर जाणे, चिपला जोडलेले एखादे बटण वापरणाऱ्याकडून दाबले जाणे, अशा घटना अचानक घडतात पण त्या पूर्णपणे अनपेक्षित नसतात. त्या घडल्यावर कोणती कार्यवाही करायची हे देखील ठरलेले असते आणि कंट्रोलरला (त्याच्या प्रोग्राम मेमरीत) शिकवलेले असते.

अशा अचानक पण अनपेक्षित नसणाऱ्या घटनांना interrupt असे म्हटले जाते.

आपण दैनंदिन आयुष्यातली अशी अनेक उदाहरणे पाहू शकतो. तुम्ही काही काम करत आहात आणि तुमच्या घराचे बंद दार किंवा घंटा (अचानक) वाजते. तुम्ही हातातले काम थांबवता आणि दाराकडे जाता. दारात पोस्टमन किंवा कूरियरवाला असतो. वस्तू किंवा पाकीट घेऊन तुम्ही दार बंद करता आणि पुन्हा आपल्या मुळच्या कामाला लागता.

तुम्ही कामात असता आणि (अचानक) टेलिफोन वाजतो. तु्म्ही हातातले काम सोडून टेलिफोनकडे जाता. फोनवरील संभाषण संपले की फोन बंद करून पुन्हा तुमच्या मुळच्या कामाकडे वळता.

स्वयंपाकघरात कुकर लावून तुम्ही बाहेरच्या खोलीत गप्पा मारत असता. काही वेळाने (अचानक) प्रेशर कुकरची शिट्टी वाजते तेव्हा गप्पा थांबवून तुम्ही स्वयंपाकघरात जाता आणि गॅस बारीक करून पुन्हा बाहेर येता.

वरील साऱ्या घटना अचानक घडतात पण त्या अनपेक्षित नाहीत. त्या घडल्यावर कुठे जाऊन काय करायचे हे तुम्हाला ठाउक असते. हीच गोष्ट एव्हीआर कंट्रोलरला शिकवता येते. ती कशी हे आता आपण पहाणार आहोत.

एव्हीआरचे विविध इंटररप्टस्

एव्हीआर Interrupts
  • वरील चित्रात एव्हीआरचे इंटररप्टस् दाखवले आहेत. ज्या ठिकाणी
    rjmp   setup

    ही सूचना आहे, तो reset हा इंटररप्ट आहे. संगणकीय परिभाषेत इंटररप्टच्या पत्त्याला interrupt vector असेही म्हटले जाते. कंट्रोलरला पॉवर दिल्याबरोबर प्रोग्रामला सुरुवात करण्यासाठी कंट्रोलरचा मेंदू प्रथम या स्थानावरच उडी मारतो.