added a feature common to all interrupts

This commit is contained in:
Ogneyar 2024-12-04 09:52:06 +03:00
parent 979a5ea9ae
commit 6b87753674

View File

@ -11,12 +11,34 @@ void __attribute__((weak)) wire_interrupt_handler(void)
}
void __attribute__((weak)) servo_interrupt_handler(void)
{
// dummy function for case when wire library is not in use
// dummy function for case when servo library is not in use
}
void __attribute__((weak)) ISR(void)
{
/* A dummy function for the case when additional interrupts are not used in the project.
In the project, you need to create a function of the form:
extern "C" void ISR(void)
{
// timer16 is taken as an example
if (TIM16_GET_ARRM_INT_STATUS(htimer16_1_))
{
// necessary actions
}
// reset timer interrupt flags
TIM16_CLEAR_INT_MASK(htimer16_1_, 0xFFFFFFFF);
}
before that, be sure to connect the libraries:
#include "mik32_hal_timer16.h"
#include "mik32_hal_irq.h"
#include "wiring_LL.h" */
}
// ---------------------------------------------- //
void __attribute__((noinline, section(".ram_text"), optimize("O3"))) trap_handler (void)
{
// all interrupts
ISR();
// gpio interrupt
if (EPIC_CHECK_GPIO_IRQ())
gpio_interrupt_handler();