Контроллер прерываний

Материал из 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

‎