Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
162
Добавлен:
01.03.2016
Размер:
3.56 Mб
Скачать

RM0016

Interrupt controller (ITC)

 

 

moments in order to execute a specific task. Some of these recurring tasks are short enough to be treated directly in an ISR (interrupt service routine), rather than going back to the main program. To cover this case, you can set the AL bit before entering Low power mode (by executing WFI instruction), then the interrupt routine returns directly to Low power mode. The run time/ISR execution is reduced due to the fact that the register context is saved only on the first interrupt.

As a consequence, all the operations can be executed in ISR in very simple applications. In more complex ones, an interrupt routine may relaunch the main program by simply resetting the AL bit.

For example, an application may need to be woken up by the auto-wakeup unit (AWU) every 50 ms in order to check the status of some pins/sensors/push-buttons. Most of the time, as these pins are not active, the MCU can return to Low power mode without running the main program. If one of these pins is active, the ISR decides to launch the main program by resetting the AL bit.

6.5Concurrent and nested interrupt management

STM8 devices feature two interrupt management modes:

Concurrent mode

Nested mode

6.5.1Concurrent interrupt management mode

In this mode, all interrupts are interrupt priority level 3 so that none of them can be interrupted, except by a TLI, RESET, or TRAP.

The hardware priority is given in the following order from the lowest to the highest priority, that is: MAIN, IT4, IT3, IT2, IT1, IT0, TRAP/TLI (same priority), and RESET.

Figure 15 shows an example of concurrent interrupt management mode.

Figure 15. Concurrent interrupt management

HARDWARE PRIORITY

 

IT2

IT1

IT4

IT3

TRAP

IT0

SOFTWARE

 

I1

 

 

 

 

 

 

I0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PRIORITY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LEVEL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TRAP

3

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IT0

 

 

3

 

1

 

1

 

 

 

 

 

 

 

 

IT1

 

 

 

IT1

 

 

3

 

1

 

1

 

 

 

 

IT2

 

 

 

 

 

 

 

 

 

 

3

 

1

 

1

 

RIM

 

 

 

 

 

 

 

 

 

IT3

 

 

3

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

IT4

 

 

 

 

 

MAIN

 

 

 

 

 

 

 

 

 

 

MAIN

3/0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11 / 10

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

USED STACK = 10 BYTES

Doc ID 14587 Rev 9

63/454

Соседние файлы в папке Минимум документации STM8_1