ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
15 октября
1548132 Топик полностью
LightElf (Вчера, 18:14, просмотров: 41) ответил il-2 на Там ниже еще LightElf пример привел, связанный с приоритетами. Все, теперь врубился до конца. Но текущий приоритет можно снизить (наверное) в NVIC. Если так, то можно обойтись без программных прерываний (подпрограммами). Можно, но сложно :-)
Нет, текущий приоритет (приоритет обрабатываемого в данный момент прерывания) снизить нельзя. Тиритицки (не проверял) можно изменить значение приоритета в NVIC и программно взвести (через NVIC) то же прерывание еще раз. Тогда по выходу из текущего обработчика мы снова перезайдем в тот же обработчик, но уже на новом (более низком) уровне приоритета. Но тогда при наступлении нового события мы не смодем его гарантированно быстро обработать, потому что приоритет уже понижен и 

смысл схемы не очень ясен. Использование PendSV (или какого-то неиспользуемого прерывания) как раз хорошо решает проблему: быстрая реакция на событие за счет высокого приоритета основного прерывания и относительно неспешная обработка в дополнительном. Использую такое на CH579 с его удивительным Ethernet ;-)

Не надо делать мне как лучше, оставьте мне как хорошо