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