हैंडलिंग में हस्तक्षेप करना I atmega168a-pu और interrupts के साथ एक सी अनुप्रयोग विकसित करता है। मैं निम्नलिखित बीच में आता है का उपयोग करें:एवीआर प्रोग्रामिंग,
ISR(TIMER0_COMPA_vect);
ISR(TIMER0_COMPB_vect);
ISR (TIMER2_COMPA_vect);
ISR(SPI_STC_vect);
ISR(TIMER1_COMPA_vect);
ISR (PCINT1_vect);
और मेरे कोड दिखता
तरहint main(void){
///initialization etc.
sei();
while(1){
///do some stuff and wait the interrupts
}
return 0;
}
मैं सभी अन्य व्यवधान ब्लॉक व्यवधान तब होता है जब और बस बाधा समारोह बाहर निकलने से पहले बीच में आता है सक्षम करना चाहते हैं।
क्या आप इसे कोड स्निपेट पर समझा सकते हैं कि मैं इसे कैसे कर सकता हूं?
संपादित करें: http://www.nongnu.org/avr-libc/user-manual/optimization.html#optim_code_reorder बताता है कि इस तरह के उपयोग समस्या को फिर से हल करने का कारण बनता है।
function(){
cli();
..
sei();
}
कोई समस्या पैदा किए बिना आप वैश्विक इंटरप्ट को कैसे अक्षम और सक्षम करते हैं? –
क्या डाउनवॉटर कृपया उनके डाउनवोट को समझाएंगे? जोहान ने पोस्टिंग के 8 मिनट बाद बग विवरण को संकेत दिया। – junix
@JohanElmander मैंने आपके संशोधित प्रश्न का उत्तर अपडेट किया। – junix