Контроллер прерываний
Материал из MIK32 микроконтроллер
Данная статья рассматривает настройку контроллера прерываний. Ниже даны основные моменты, на которые следует обратить внимание, далее дан пример с обработкой прерывания от 32-х разрядного таймера.
Важный момент
Контроллер прерываний не является векторным, при возникновении прерывания из любого источника он всегда вызовет один обработчик.
Обратите внимание
Для работы контроллера прерываний требуется следующее:
- Включить тактирование EPIC на шине APB_M (в блоке Power Manager);
- Разрешить прерывания по необходимым линиям в блоке EPIC (контроллер прерываний);
- Разрешить аппаратные прерывания (установить соответствующие регистры состояния в ядре).
В периферийных блоках также требуется разрешить прерывания по определенным событиям.
Пример обработки прерывания:
https://disk.yandex.ru/d/tpft5MKx1UggXA
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass