переривань

S

spauls

Guest
Здравствуйте,
Чи може тіло розповісти про теорію переривань в мікроконтролерах.

 
привіт;Є декілька джерел переривання в кожному MCU, він differes різних мікроконтролерів, вони внутрішні чи зовнішні, зовнішня, як введення PIN-коду, як внутрішні прапори переповнення таймера,

насправді, коли ви дозволити переривати в MCU, ви можете обробляти інші інструкції, і коли зустрічається, переривання, процесор переходить до конкретного адресою і обробки спеціальної інструкції, ви хочете бути зроблено, як тільки зустрічається, переривання,
це використання є, наприклад, ви хочете, щоб відключити висновок, як тільки низьким 0 готовий на один штир MCU (контактний повинні переривати функцію), то перший дозволити переривання, що PIN-код у ваше програмне забезпечення, а потім MCU йде для обробки інших інструкцій ..., Коли, що особливу контактний йде вниз, то перериває MCU, і проводить останні інструкції обробки, потім підходить до робити підпрограми відповіді переривати (поворот вихідний), а після закінчив subrotine повертається до останньої інструкції обробки до переривання зустрічається, а далі це нормально ...

надії на допомогу,
привіт.

 
Це не теорія, дійсно.Це спосіб більш ефективного використання ресурсів.
Є процеси, які потребують часу для завершення, наприклад, передачі / прийому характеру через серійний порт, лічильник деякі події, таймер, який говорить на мікро, коли потрібно робити те, і т.д.

Цей час витрачено даремно, якщо мікрохвильова постійно перевіряє, чи є операція завершена.Мікрохвильова може працювати на чомусь іншому, поки що повільно відбувається.Наприклад, UART можуть відправити байт без будь-яких керуючий процесор.Врешті-решт, він генерує переривання, щоб мікро знаю це може noaw завантажити інший символ, який буде надіслано.Мікро навантаження символ, а потім він може зробити що-то, UART подбає відправки.

Таким чином, переривання причиною мікро припинити виконання поточної програми та гілки на ISR (переривання сервісна програма), не працюють, а потім повернутися до перерваної роботу.

Це робиться шляхом збереження програми з боротьби у стеці, коли мікро визнає переривання (зауважимо, що переривання може бути відключений, або ігнорувати, якщо інший переривання з більш високим пріоритетом в даний час виконання).Потім програма боротьби завантажений перша адреса в ISR.Таким чином, перехід на цю адресу відбувається.ISR потім виконується, так як на мікро читає інструкції в цих місцях у даний час.Наприкінці ISR, як правило спеціальні інструкції (повернення чи повернення з переривання), який завантажує програми з боротьби зі значенням, що був збережений в стек, коли переривання було визнано.Це змушує повернутися до перерваної програми.
Таким чином, основна програма працює нормально, крім цих "перерв".

Думайте про нього, як ніби ви дивитеся відеомагнітофона (або DVD).Якщо у вас також є кухня, то ви можете просто дивитися піч, але не в кіно.Або, ви можете встановити таймер на кухні, який буде розповідати вам, що потрібно, щоб перевірити ваш обід.Коли таймер вимикається зупинити відео, перейдіть за посиланням на продукти харчування, а потім повернутися і повернути назад на відеомагнітофон і продовжувати дивитися фільм.
Ви дві речі ", в той же час", так би мовити.Це exacly як мікро-мабуть, щоб, можливо, в той же час, за допомогою переривання.

Ясно як бруду?

 

Welcome to EDABoard.com

Sponsor

Back
Top