Вопрос по непрерывности прерываний в STM32
14.01.2014, 09:37
|
|
|
Частый гость
Регистрация: 15.04.2008
Адрес: Йошкар-Ола
Сообщений: 39
Сказал спасибо: 47
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от MaxiMuz79
|
не вариант т.к. вход в прерывание уже занимает приличное время : макс.частота вызовов 1го пустого прерывания ок.320кГц при внутренней частоте 24МГц
в данном случае его наоборот следовало бы снизить
|
Чем меньше приоритет - тем прерывание более приоритетное.
|
|
|
|
14.01.2014, 11:09
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от MaxiMuz79
|
|
не вариант т.к. вход в прерывание уже занимает приличное время : макс.частота вызовов 1го пустого прерывания ок.320кГц при внутренней частоте 24МГц
|
У Вас 32F100 ?
Получается 75 тактов на цикл.
А как Вам
Сообщение от omercury
|
|
Вариант 2.
|
|
|
|
|
14.01.2014, 11:23
|
|
|
Гражданин KAZUS.RUN
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от omercury
|
А как Вам
Сообщение от omercury
Вариант 2.
|
вполне. Только я пытался прояснить режимы работы NVIC.
Прояснил: система прерываний в STM32 имеет много плюсов, но специфика работы заставляет постоянно быть на чеку 
Всем спасибо! Тему можно закрыть.
Последний раз редактировалось MaxiMuz79; 14.01.2014 в 11:25.
|
|
|
|
14.01.2014, 11:48
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от MaxiMuz79
|
|
а "ещё стописят" и не нужно
|
Как же, как же, помним:
Сообщение от MaxiMuz79
|
|
При определенной частоте срабатывания TIM основная программа в "main" перестает выполняться. Т.е. фактически прерывание забирает 100% времяни на себя
|
В таком случае нужно либо сокращать время выполнения, либо увеличивать ресурс камня, а вы ищете, как не делая ни того, ни другого, ещё дать main'у поработать.
__________________
There's always more than one way to skin a cat.
|
|
|
|
14.01.2014, 15:47
|
|
|
Гражданин KAZUS.RUN
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Думается при таких жестких условиях надо принять во внимание допустимость потери прерываний... и если они допустимы - запрещать прерывания перед выходом, отрабатывать маин, и разрешать снова.
|
|
|
|
14.01.2014, 15:48
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Эту байду вообще не надо обрабатывать прерываниями. Таймеры, ДМА - вот куда надо смотреть.
|
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
14.01.2014, 15:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от BolshoyK
|
|
Думается при таких жестких условиях надо принять во внимание допустимость потери прерываний... и если они допустимы - запрещать прерывания перед выходом, отрабатывать маин, и разрешать снова.
|
Правильнее в теле обработчика прерывания просто флаги выставлять, а уж в main() проверять флаги и нужное делать. Иначе получится черт-те что и сбоку бантик!
// но, естественно, если прерывание вызывается слишком часто, надо действовать по-другому: не прерывание вешать на ногу, а опрашивать ее состояние в main()
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
14.01.2014, 16:04
|
|
|
Гражданин KAZUS.RUN
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Мы же по условию не знаем что за прерывание... Просто абстрактное.
Про флаги и обработку в майне - тоже вариант. дма и таймеры сходу можно и не придумать как приклячить к ситуации.
|
|
|
|
14.01.2014, 16:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от BolshoyK
|
|
Мы же по условию не знаем что за прерывание... Просто абстрактное.
|
По условию:
Сообщение от MaxiMuz79
|
|
время выполнения этого прерывания неизвестно
|
что есть преступление. Ну, а ситуация, когда " хвост вытащил - нос увяз", это наказание.
__________________
There's always more than one way to skin a cat.
|
|
|
|
14.01.2014, 16:45
|
|
|
Гражданин KAZUS.RUN
Регистрация: 25.11.2009
Сообщений: 609
Сказал спасибо: 37
Сказали Спасибо 140 раз(а) в 72 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
tempora, я тоже, как все остальные, люблю лечить причину, а не следствие, но это не мешает обсудить заданный вопрос. ибо это полезно, в теории.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:28.
|
|