Страница 1 из 2
прерывание INT_0 (attiny2313)
Добавлено: Чт сен 27, 2007 15:43:16
asd
Добрый день, как настраивать вывод PD2 для работы прерывания INT_0
Добавлено: Чт сен 27, 2007 16:29:38
Aheir
на вход.
с подтяжкой или без - зависит от внешних цепей.
Добавлено: Чт сен 27, 2007 18:49:59
asd
У меня задача такая : подать на выход PD2 минус питания (0)и что бы произошол переход на метку INT_0 .
Вывод PD2 настроил на "вход" по прерывание не срабатывает .Что же это может быть, что этому прерыванию надо?
Добавлено: Чт сен 27, 2007 19:47:17
Aheir
Опять же, не понятно, какая цепь подключена к этому выводу.
Хорошо, давайте сконфигурируем этот вывод как вход с "подтяжкой" (включим внешний резистор).
В этой ситуации надо активизировать прерывание по спаду, тогда оно сработает в момент изменения сигнала с 1 на 0.
Добавлено: Чт сен 27, 2007 22:13:29
asd
зачем подтяжка и как она вкл?
Добавлено: Пт сен 28, 2007 02:33:12
Negor
Подтяжка нужна для установки высокого логического уровня на данной линии ввода\вывода. Включается установкой соотв. бита в регистре PORTx, где х - буква нужного порта. В этом случае на линии будет высокий лог. уровень.
Re: прерывание INT_0 (attiny2313)
Добавлено: Пт сен 28, 2007 06:17:48
tych
asd писал(а):Добрый день, как настраивать вывод PD2 для работы прерывания INT_0
Подробно и с ПРИМЕРАМИ стр 3 под кнопкой "www".
Re: прерывание INT_0 (attiny2313)
Добавлено: Пт сен 28, 2007 06:34:09
mr.Kirill
tych писал(а):Подробно и с ПРИМЕРАМИ стр 3 под кнопкой "www".
По-моему Вас уже предупреждали за рекламу "своего" "чудодейственного курса С"?
Лично меня уже сильно раздражает в каждой теме читать одно и тоже, Вы никогда практически не говорите по цели темы, одна только "реклама"
Добавлено: Пт сен 28, 2007 17:38:25
asd
Такой вопрос: в программе используется 2 прерывания. Пока выполняется обработка одного прерывания, вкл второе прерывание.Что в этом случае произойдет с ними и как в таких случаях лучше поступать ?
Добавлено: Пт сен 28, 2007 17:49:31
tych
asd писал(а):Такой вопрос: в программе используется 2 прерывания. Пока выполняется обработка одного прерывания, вкл второе прерывание.Что в этом случае произойдет с ними и как в таких случаях лучше поступать ?
В постах над вашим еть адрес где есть пример с двумя кнопками на два прерывания INT0 INT1 - запустите в симуляторе и посмотрите.
Там же и теория - суть - "прерывания в AVR".
Добавлено: Пт сен 28, 2007 18:07:31
asd
не мне надо прерывание таймера и INT0
Как вообще сделать чтобы таймер обрабатывался в первую очередь, в любом случае ?
Добавлено: Пт сен 28, 2007 18:09:26
tych
asd писал(а):не мне надо прерывание таймера и INT0
Механизм прерываний в AVR вы прочитали ? Он зависит от источника прерывания ?
Добавлено: Пт сен 28, 2007 19:15:38
asd
это что получается пока прерывание INT0 не закончится реакции на перерывание таймера не будет.А потом еще раз включится INT0 и потом прерывание таймера ?
Добавлено: Пт сен 28, 2007 20:01:08
Mr.Moss
Не совсем так.
Если во время выполнения прерывания INT_0 установится флаг прерывания таймера, то прерывание таймера сработает после INT_0
Добавлено: Сб сен 29, 2007 20:14:40
Aheir
К сожалению, у АВР нет такой вещи, как приоритет прерываний, поэтому онит будут выполняться последовательно, как уже и сказали
Добавлено: Вс сен 30, 2007 08:02:57
tych
Aheir писал(а):К сожалению, у АВР нет такой вещи, как приоритет прерываний
ИМХО приоритет прерваний в AVR все же есть !
На стр. 3 курса рассказано в каком порядке будут выполняться прервания
если возникнет несколько разрешенных прерываний одновременно
Добавлено: Вс сен 30, 2007 17:10:36
Aheir
Да, но, к сожалению, повлиять мы на него не можем, только иметь в виду. В некоторых других МК мы можем сами задавать приоритет прерываний и даже приостанавливать выполнение перывания, если происходит событие с большим приоритетом. Да что я Вам рассказываю, Вы и сами все это прекрасно знаете.
Кстати, в рамках данной темы это все равно оффтоп...

Добавлено: Вс сен 30, 2007 17:34:54
tych
Aheir писал(а):Да, но, к сожалению, повлиять мы на него не можем, только иметь в виду.
В некоторых других МК мы можем сами задавать приоритет прерываний и даже приостанавливать выполнение перывания, если происходит событие с большим приоритетом.
В AVR для этого достаточно в обработчике прерывания установить бит I в SREG. Конечно есть МК и с другими возможностями управления приоритетами прерываний.
Добавлено: Вс сен 30, 2007 22:22:14
Aheir
tych писал(а):Конечно есть МК и с другими возможностями управления приоритетами прерываний.
Во-во, о чем и речь

Добавлено: Ср окт 03, 2007 01:09:44
sheva_s
Напиал программку мигание светодиодов с изменением скорости мигания по прерыванию на выводе INT_0 в протеусе симулируеться отлично правда по светодиодам это не очень хорошо видно зато по осцилографу очень даже хорошо три ступени регулирования. При прошивки контролера этой программой она вобще отказываеться запускаться что не так ?
В архиве SPID2 схема протеуса , исходник , прошивка.