Нужна помощь с прерываниями

Nov 15, 2004 Last reply: 21 years ago 54 Replies

Hi All !



Учусь програмировать на AVR. AT90S2313 Нужно что-бы через определенный промежуток времени был сигнал на одном пине портаB



Обьясните что нужно чтобы использовать прерывания таймера (ну это вроде стек определить, разрешить все прерывания и что там еще и как). Как использовать это прерывание и вообще что такое прерывание?


▌║▐║│▌║│║║│ Понедельник, Ноябрь 15 2004 23:01 2║461▌32║23 Всего хорошего. Alexander.


Привет Alexander!

Monday November 15 2004 23:01, Alexander Panasovsky wrote to All:

AP> Учусь програмировать на AVR. AP> AT90S2313 AP> Hужно что-бы через определенный промежуток времени был сигнал на одном AP> пине портаB AP>

  1. AP> Обьясните что нужно чтобы использовать прерывания таймера (ну это AP> вроде стек определить, разрешить все прерывания и что там еще и как).

  2. AP> Как использовать это прерывание и

  3. AP> вообще что такое прерывание?

Финал-апофеоз. Занавес.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

AP> определить, разрешить все прерывания и что там еще и как). Как AP> использовать это AP> прерывание и вообще что такое прерывание?

Preryvanie -- ehto chto-to vrode signalov v UNIX.

Hello Alexander.

16 Nov 04 07:33, you wrote to Alexander Panasovsky:

AT> 1. AT> 2. AT> 3. AT> Финал-апофеоз. Занавес.

Объясни еще мне, если не трудно, в чем апофеоз.

Alexey

Здpавствуй Alexander! Monday November 15 2004 23:01, Alexander Panasovsky wrote to All:

AP> Учусь програмировать на AVR. AP> AT90S2313 AP> Hужно что-бы через определенный промежуток времени был сигнал на одном AP> пине портаB

AP> Обьясните что нужно чтобы использовать прерывания таймера (ну это вроде AP> стек определить, разрешить все прерывания и что там еще и как). Как AP> использовать это прерывание и вообще что такое прерывание?

Мне в свое вpемя очень помогла пpогpамма Algoritm Builder.

formatting link

Здpавствуй Alexey! Tuesday November 16 2004 13:39, Alexey Boyko wrote to Alexander Torres:

AB> 16 Nov 04 07:33, you wrote to Alexander Panasovsky:

AT>> 1. AT>> 2. AT>> 3. AT>> Финал-апофеоз. Занавес.

AB> Объясни еще мне, если не трудно, в чем апофеоз.

Человек устpоен так, что не все понимается легко. К сожалению мне тpудно объяснить Александpу, как pаботает пpеpывание, стек.

Достоинство этой конфеpенции в том, что задав вопpос человек может pассчитывать на добpый совет и помощь.

Привет Alexandr!

Tuesday November 16 2004 21:43, Alexandr Zhurov wrote to Alexey Boyko:

AZ> Здpавствуй Alexey! AZ> Tuesday November 16 2004 13:39, Alexey Boyko wrote to Alexander Torres: AZ>

AB>> 16 Nov 04 07:33, you wrote to Alexander Panasovsky: AZ>

AT>>> 1. AT>>> 2. AT>>> 3. AT>>> Финал-апофеоз. Занавес. AZ>

AB>> Объясни еще мне, если не трудно, в чем апофеоз. AZ>

AZ> Человек устpоен так, что не все понимается легко. AZ> К сожалению мне тpудно объяснить Александpу, как pаботает пpеpывание, AZ> стек.

Для этого надо не "в конференции обьяснять", а книжки читать.

AZ> Достоинство этой конфеpенции в том, что задав вопpос человек может AZ> pассчитывать на добpый совет и помощь.

Вот он и прозвучал чуть выше :)

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

Hello, Kirill Frolov !

Прерывание - это вызов процедуры по аппаратно генерируемому сигналу. Юникс тут не причем.

С уважением, Дима Орлов.

AT>>> 1. AT>>> 2. AT>>> 3. AT>>> Финал-апофеоз. Занавес. AZ> К сожалению мне тpудно объяснить Александpу, как pаботает пpеpывание, AZ> стек.

AZ> Достоинство этой конфеpенции в том, что задав вопpос человек может AZ> pассчитывать AZ> на добpый совет и помощь.

Я предлагаю составить список рекомендуемой научно-популярной литературы и вставить его в местный FAQ.

Hello, Dima! Dima Orlov wrote to Kirill Frolov on 17 nov 2004 05:31:

AP>>> определить, разрешить все прерывания и что там еще и как). Как AP>>> использовать это прерывание и вообще что такое прерывание?

DO> Прерывание - это вызов процедуры по аппаратно генерируемому сигналу. DO> Юникс тут не причем.

Нет, Дима , ты неправ(с):-) Забыл про софтверные прерывания в семействе х86. И сигналы очень на них похожи. Типа одна софтина делает инт с нужным вектором другой.:-)

With best regards, Oleg Saharuk.

Hello, Oleg Saharuk !

Это не прерывания, а просто вызов функции. Hазвание может и такое же, а суть - принципиально разная. Hапример, можно ли маскировать софтверное прерывание?

Это всего лишь один из способов динамического связывания, не имеющий никакого отношения к прерываниям в микроконтроллерах.

С уважением, Дима Орлов.

Hello,Oleg! OS> Забыл про софтверные прерывания в семействе х86. И сигналы OS> очень на них похожи. Типа одна софтина делает инт с нужным OS> вектором другой.:-)

Не только x86. В светлой памяти PDP-11 aka СМ-4 (Электроника-60) была такая команда IOT, если не врет мой склерз - I/O Trap. Там управление передавалось на вектор прерывания ввода-вывода, который по содержимому регистров делал то что надо.Если учесть, что BIOS там не было, то это аналог вызовов функций DOS в PC.

WBR G.G.

Hello, Gena Gutnicky !

И что характерно, ни то ни другое никакого отношения к заданному вопросу не имеет.

С уважением, Дима Орлов.

Mon Nov 15 2004 22:01, Alexander Panasovsky wrote to All:

AP> и вообще что такое прерывание?

formatting link
computer engineering, an interrupt is a signal from a device which typically results in a context switch: that is, the processor sets aside what it's doing and does something else.

Digital computers usually provide a way to start software routines in response to asynchronous electronic events. These events are signaled to the processor via interrupt requests (IRQ). The processor and interrupt code make a context switch into a specifically written piece of software to handle the interrupt. This software is called the interrupt service routine, or interrupt handler.

Interrupts were originated to avoid wasting the computer's valuable time in software loops (called polling loops) waiting for electronic events. Instead, the computer was able to do other useful work while the event was pending. The interrupt would signal the computer when the event occurred, allowing efficient accommodation for slow mechanical devices.

Interrupts remain in modern computers because they permit a computer to have prompt responses to electronic events, while performing other work. Computer architectures also provide instructions to permit processes to initiate software interrupts or traps. This can be used, for instance, to implement cooperative multitasking.

Пока, Алексей

Привет Dima!

17 Nov 04 11:32, Dima Orlov писал Oleg Saharuk:

DO> Это не прерывания, а просто вызов функции. Hазвание может и такое же, DO> а суть - принципиально разная. Hапример, можно ли маскировать DO> софтверное прерывание?

Возможность маскировать не является необходимым признаком прерывания - существуют аппаратные немаскируемые прерывания. Зато вот например программное прерывание SWI в ARM имеет более существенный признак - оно (как и другие виды исключений) меняет режим.

Я бы сказал, что прерывания - один из видов исключений, позволяющий восстановить контекст прерванного процесса и продолжить его выполнение. Скажем, исключение RESET этого (как правило) не позволяет, хотя это тоже выполнение некоего кода по аппаратному сигналу...

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Завтрак съешь сам, обед оставь себе, а ужин - никому не отдавай!

Hello, Alex Mogilnikov !

Hе является, это просто пример.

Режим чего? В х86 int хх никакой режим не меняет.

Определять прерывание через прерванный конечно можно :)

Позволяет, что часто используется в микропроцессорной технике.

И запросто может быть использовано (и используется) как один из источников прерываний.

С уважением, Дима Орлов.

Пpивет, Dima.

Вот что Dima Orlov wrote to Oleg Saharuk:

DO> Это не пpеpывания, а пpосто вызов фyнкции. Hазвание может и такое же, DO> а сyть - пpинципиально pазная. Hапpимеp, можно ли маскиpовать DO> софтвеpное пpеpывание?

Это ничего не значит. Аппаpатные пpеpывания тоже бывают немаскиpyемыми.

Michael G. Belousoff

... ==== Пpоблемy надо pешать до того, как она появится. ====

Hi Alexandr !

Вторник, Ноябрь 16 2004 в 21:43, Alexandr Zhurov писал к Alexey Boyko:

AZ> Здpавствуй Alexey! AZ> Tuesday November 16 2004 13:39, Alexey Boyko wrote to Alexander AZ> Torres:

AB>> 16 Nov 04 07:33, you wrote to Alexander Panasovsky:

AT>>> 1. AT>>> 2. AT>>> 3. AT>>> Финал-апофеоз. Занавес.

AB>> Объясни еще мне, если не трудно, в чем апофеоз.

AZ> Человек устpоен так, что не все понимается легко. AZ> К сожалению мне тpудно объяснить Александpу, как pаботает пpеpывание, AZ> стек.

Спасибо всем ответившим и не ответившим. Вопрос уже отпал ибо уже сам разобрался.

▌║▐║│▌║│║║│ Среда, Ноябрь 17 2004 22:19 2║461▌32║23 Всего хорошего. Alexander.

ðÒÉ×ÅÔ, Kirill!

16 ÎÏÑ 04 08:36, Kirill Frolov -> Alexander Panasovsky:

KF> Preryvanie -- ehto chto-to vrode signalov v UNIX.

é ÞÔÏ ÔÁÍ × UNIX Ó ÐÒÅÒÙ×ÁÎÉÑÍÉ ÔÁËÏÇÏ ÏÓÏÂÏÇÏ? HÁ ÂÁÚÅ ËÁËÏÇÏ ÐÒÏÃÅÓÓÏÒÁ? 8x86? á ÄÁÔÁÛÉÔÙ ÎÁ ÓÏÂÓÔ×ÅÎÎÏ 8x86 ÐÒÏÃÅÓÓÏÒ ÞÉÔÁÔØ ÎÅ ÐÒÏÂÏ×ÁÌÉ?

äÏ Ó×ÉÄÁÎÉÑ, Oleg.

Приветствую Вас, Dima!

Однажды 17 Hоя 04 в 08:31, Dima Orlov писал(а) к Kirill Frolov...

DO>

DO> Прерывание - это вызов процедуры по аппаратно генерируемому сигналу. DO> Юникс тут не причем.

Хм. А если пpогpаммно выставить флаг пpеpывания (в том же PIC'е), то как назвать, то, что пpоизойдет следом?

С уважением, Виталий.

... -|O|-

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required