Вопрос по непрерывности прерываний в STM32
13.01.2014, 14:34
|
|
|
Гражданин KAZUS.RUN
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Вопрос по непрерывности прерываний в STM32
Почти философский вопрос:
К примеру использую прерывание от таймера. При определенной частоте срабатывания TIM основная программа в "main" перестает выполняться. Т.е. фактически прерывание забирает 100% времяни на себя и уже какбы прерывание ничего не прерывает , а само становиться основным циклом.
.. В отличие от AVRок где всетаки происходит возврат в основной цикл пусть и на 1-2 команды.
Сложность еще заключается в том что рассчитать максимальный период выполнения прерывания когда еще управление передается в main я так думаю невозможно.
Собственно вопрос в возможности такого режима, при котором после прерывания, в любом случае следует возврат в исходную точку?
Немного ознакомившись с ядром и NVIC я такого режима не увидел.
|
|
|
|
13.01.2014, 14:38
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Ну дык флаг прерывания не сбрасывайте и получите свой вечный цикл )))
|
|
|
|
13.01.2014, 14:55
|
|
|
Гражданин KAZUS.RUN
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от Easyrider83
|
|
Ну дык флаг прерывания не сбрасывайте и получите свой вечный цикл )))
|
так мне он как раз не нужен ! Напротив , речь о том, что в теле прерывания когда уже сбросился флаг события прерывания и происходит восстановление всех регистров и запись в PC адреса возврата , снова срабатывает условие и включается флаг прерывания - и NVIC решает что вместо того что бы передать управление основной программе, вновь происходит загрузка всех регистров в стек и вызов прерывания.
|
|
|
|
13.01.2014, 15:55
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Ну если у Вас частота прерываний всего раз в 10 меньше тактовой, то нужен более быстрый камень.
|
|
|
|
13.01.2014, 15:59
|
|
|
Гражданин KAZUS.RUN
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от nahimovv
|
|
Что можно сделать за пару тактов в майне на STM32, в чём тайный смысл? Больше того, прерывание может прерываться другим прерыванием, причём так, довольно шустренько!
|
если частота срабатываний "высокая", то всеже чтото достанется майну. А смысл разобраться есть ли такая возможность ? и если нет, уже исходить из этого..
п.с. и вопрос не в том ЧТО я могу сделать за эти пару тактов, тут неважна скорость, а важен сам факт этих тактов!
Последний раз редактировалось MaxiMuz79; 13.01.2014 в 16:02.
|
|
|
|
13.01.2014, 16:06
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от omercury
|
|
Ну если у Вас частота прерываний всего раз в 10 меньше тактовой, то нужен более быстрый камень.
|
Или выбрано неправильное решение.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
13.01.2014, 16:13
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
|
|
|
|
13.01.2014, 16:37
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Слегка переформулирую проблему:
|
Цитата:
|
|
Если ресурсов катастрофически не хватает, но ОООчень нужно - как же так?! Вот ведь в советское время - приставляли пистолет к затылку и решались самые нерешаемые задачи... Как применить этот метод к м/к?
|
Эти " эффективные менеджеры" достали уже своей верой в силу незнания.
__________________
There's always more than one way to skin a cat.
|
|
|
|
Сказали "Спасибо" tempora
|
|
|
13.01.2014, 16:39
|
|
|
Гражданин KAZUS.RUN
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от eddy
|
|
Или выбрано неправильное решение.
|
а можно предположить такую ситуацию, что прерывание (к примеру по наступлению какого либо события) в нормальном режиме вызывается достаточно редко, и время выполнения этого прерывания неизвестно; но по какимто причинам событие начало происходить чаще и обработка прерывания заняло все процессорное время. И при этом важность основной программы выше чем прерывания.
п.с. в случае с AVR я бы даже не задумался над такой задачей
Последний раз редактировалось MaxiMuz79; 13.01.2014 в 16:46.
|
|
|
|
13.01.2014, 16:42
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Вопрос по непрерывности прерываний в STM32
Сообщение от MaxiMuz79
|
|
И при этом важность основной программы выше чем прерывания.
|
Снова про "выжать 110%"... А про "важность" - запрет прерываний у вас влечёт за собой уголовную ответственность?
__________________
There's always more than one way to skin a cat.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:06.
|
|