Блок управления прерываниями: различия между версиями

Материал из MIK32 микроконтроллер
(Новая страница: «=== Введение === Данный модуль управляет минимально необходимым функционалом прерываний. === Описание === Модуль реализует поддержку 32 линий прерываний от внешних устройств. Модуль обеспечивает формирование прерываний как по уровню, так и при детектирова...»)
 
Нет описания правки
Строка 1: Строка 1:
=== Введение ===
=== Введение ===
Данный модуль управляет минимально необходимым функционалом прерываний.
Данный модуль управляет минимально необходимым функционалом для обслуживания прерываний.


=== Описание ===
=== Описание ===
Строка 107: Строка 107:
|DAC1
|DAC1
|}
|}
=== Описание регистров ===
Далее перечислены регистры модуля
=====Регистр MASK_LEVEL_SET=====
Смещение: 0x0, Значение после подачи сброса: 0x00000000;
{| class="wikitable"
|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
|}
{| class="wikitable"
|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: прерывание срабатывает по уровню

Версия от 15:46, 17 апреля 2023

Введение

Данный модуль управляет минимально необходимым функционалом для обслуживания прерываний.

Описание

Модуль реализует поддержку 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: прерывание срабатывает по уровню