Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > ПРерывания на СИ


Автор: Regbist 28.9.2005, 09:33
Здраствуйте.
Меня, как студента, волнует вопрос о прерываниях. А именно "как и с чем их едят ?" Иначе говоря, объясните, зачеи они нужны ? может есть где литература ?
и ещё.
ПОльзуюсь Keil для процессора DS80C400. когда исползую пример с прерыванием (пример не мой,а с сайта) и подгружаю файл startup.a51, то выдаётся ошибка типа "Memory spase overloop". МНе не понятно, почему происходит наложение адресов, и как от этого избавиься ?

Автор: DRUID3 28.9.2005, 19:31
smile - очень сомневаюсь, что есть литература именно по прерываниям. Прерывание это внутреннее (в самом микроконтроллере, например изменение состояния таймера и т.д.) или внешнее (например, изменение уровня с "0" в"1" на каком-нибудь пине, срабатывание компаратора и т.д.) событие которое отмечается флагом (значащим битом). Т.е. такое событие можно "зарегистрировать" и на основании этого заставить программу идти другим путем. Это содержится в самом названии, прерывание основной программы (задачи) на время выполнения подпрограммы обрабатывающей данное событие.

А для вашего конкретного примера, наверное, уместно будет привести ссылку. А то как-то совсем туманно. Правда, в вашем микроконтроллере я все равно не шарю, но здесь полно грамотных людей.

Автор: PILOT 28.9.2005, 19:57
Прерывание нужно для того, чтобы ПРЕРВАТЬ основной цикл программы и обработать какое-либо событие. Нужно это для того, чтобы постоянно самому не контролировать наступление этого события, а поручить это аппаратуре, а освободившееся таким образом время заполнить более важными действиями чем тупое отслеживание состояния на ноге или счет и ожидание периода в 1 мс.

СУВ.

Автор: cardinal 28.9.2005, 23:17
Ну и чтобы совсем понятно стало:
Ты когда берешь трубку телефона? Именно! Когда телефон звонит. Так вот прерывание для процессора является тем же, чем для тебя является этот звонок телефона. Согласись, ведь тупо постоянно снимать трубку и слушать не звонит ли тебе кто-ниубдь? smile

Успехов!

Автор: Regbist 30.9.2005, 21:35
cardinal Ты просто супер пояснил smile) мне так понятни никто не пояснял smile)0 и я ПОНЯЛ smile) реально понял smile) мне так даже препод по информатике не смог объяснить smile))) я его просто просил на русском языке пояснить. а он мне всё про регистры smile)

Автор: SERGSERG 1.10.2005, 06:40
Цитата(cardinal @ 28.9.2005, 23:17)
Согласись, ведь тупо постоянно снимать трубку и слушать не звонит ли тебе кто-ниубдь? smile

Успехов!

Хе прикольно объяснил smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)