Блок управления прерываниями
Материал из MIK32 микроконтроллер
Введение
Данный модуль управляет минимально необходимым функционалом для обслуживания прерываний.
Описание
Модуль реализует поддержку 32 линий прерываний от внешних устройств. Модуль обеспечивает формирование прерываний как по уровню, так и при детектировании фронта(спада) на линии прерывания.
Перечень линий прерывания для устройств, подключённых к контроллеру прерываний, указан в таблице
Номер линии прерывания | Имя источника прерывания |
0 | Timer32_0 |
1 | USART_0 |
2 | USART_1 |
3 | SPI_0 |
4 | SPI_1 |
5 | GPIO |
6 | I2C_0 |
7 | I2C_1 |
8 | Сторожевой таймер |
9 | Timer16_0 |
10 | Timer16_1 |
11 | Timer16_2 |
12 | Timer32_1 |
13 | Timer32_2 |
14 | SPIFI |
15 | RTC |
16 | EEPROM |
17 | Сторожевой таймер шины (перефирийные устройства) |
18 | Сторожевой таймер шины (SPIFI) |
19 | Сторожевой таймер шины (EEPROM) |
20 | ПДП |
21 | Монитор частоты |
22 | Монитор напряжения AVCC (ниже порога) |
23 | Монитор напряжения AVCC (выше порога) |
24 | Монитор напряжения VCC (ниже порога) |
25 | Монитор напряжения VCC (выше порога) |
26 | Недостатоное напряжение батареи |
27 | BrouwnOut детектор |
28 | Монитор температуры |
29 | АЦП |
30 | DAC0 |
31 | DAC1 |
Описание регистров
Далее перечислены регистры модуля
Регистр MASK_LEVEL_SET
Смещение: 0x0, Значение после подачи сброса: 0x00000000;
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MLS31 | MLS30 | MLS29 | MLS28 | MLS27 | MLS26 | MLS25 | MLS24 | MLS23 | MLS22 | MLS21 | MLS20 | MLS19 | MLS18 | MLS17 | MLS16 |
rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MLS15 | MLS14 | MLS13 | MLS12 | MLS11 | MLS10 | MLS9 | MLS8 | MLS7 | MLS6 | MLS5 | MLS4 | MLS3 | MLS2 | MLS1 | MLS0 |
rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
Биты 31:16 Зарезервировано
Биты 15:0 MLSy - Биты линий прерываний (y=0...31)
При записи:
- 0: соответствующая линия прерывания не меняет тип
- 1: соответствующая линия прерывания активируется на срабатывание по уровню
При чтении текущее состояние линии прерывания
- 0: прерывание не срабатывает по уровню
- 1: прерывание срабатывает по уровню