v0.5.3 #29
@ -40,8 +40,8 @@
|
||||
|
||||
В пакете поддержки доступна возможность дополнения или замены стандартного обработчика прерываний пользовательской функцией-обработчиком. Для этого в своем скетче необходимо определить функцию `extern "C" bool ISR()`, она вызывается первой в стандартном обработчике. Внутри функции можно проверять флаги прерываний и реагировать на нужные. Важно очищать флаги обрабатываемых прерываний, чтобы обработчик работал корректно.
|
||||
Если функция возвращает `false`, после ее выполнения так же будет выполнен код стандартного обработчика прерываний. Если функция возвращает `true`, выполнение кода стандартного обработчика будет пропущено.
|
||||
Пользовательскую функцию необходимо располагать в RAM памяти, так как стандартный обработчик памяти расположен именно там.
|
||||
Ниже приведен пример пользовательской обработки прерывания по переполнению от 16-битного таймера 1:
|
||||
Пользовательскую функцию необходимо располагать в RAM памяти, так как стандартный обработчик прерываний расположен именно там.
|
||||
Ниже приведен пример пользовательского обработчика прерывания по переполнению от 16-битного таймера 1:
|
||||
```
|
||||
extern "C" __attribute__((section(".ram_text"))) bool ISR(void)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user