quasar_it.h
This module includes some necessary CortexM33 exception implementations as well as some STM32 specific interrupts.
- Copyright
Copyright (C) 2026 SPARK Microsystems International Inc. All rights reserved.
- License
This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.
- Author
SPARK FW Team.
Typedefs
-
typedef enum quasar_irq_priority quasar_irq_priority_t
List of the available interrupt request priorities.
Enums
-
enum quasar_irq_priority
List of the available interrupt request priorities.
Values:
-
enumerator QUASAR_IRQ_PRIORITY_0 = 0
Interrupt request priority 0 (highest priority).
-
enumerator QUASAR_IRQ_PRIORITY_1 = 1
Interrupt request priority 1.
-
enumerator QUASAR_IRQ_PRIORITY_2 = 2
Interrupt request priority 2.
-
enumerator QUASAR_IRQ_PRIORITY_3 = 3
Interrupt request priority 3.
-
enumerator QUASAR_IRQ_PRIORITY_4 = 4
Interrupt request priority 4.
-
enumerator QUASAR_IRQ_PRIORITY_5 = 5
Interrupt request priority 5.
-
enumerator QUASAR_IRQ_PRIORITY_6 = 6
Interrupt request priority 6.
-
enumerator QUASAR_IRQ_PRIORITY_7 = 7
Interrupt request priority 7.
-
enumerator QUASAR_IRQ_PRIORITY_8 = 8
Interrupt request priority 8.
-
enumerator QUASAR_IRQ_PRIORITY_9 = 9
Interrupt request priority 9.
-
enumerator QUASAR_IRQ_PRIORITY_10 = 10
Interrupt request priority 10.
-
enumerator QUASAR_IRQ_PRIORITY_11 = 11
Interrupt request priority 11.
-
enumerator QUASAR_IRQ_PRIORITY_12 = 12
Interrupt request priority 12.
-
enumerator QUASAR_IRQ_PRIORITY_13 = 13
Interrupt request priority 13.
-
enumerator QUASAR_IRQ_PRIORITY_14 = 14
Interrupt request priority 14.
-
enumerator QUASAR_IRQ_PRIORITY_15 = 15
Interrupt request priority 15 (lowest priority).
-
enumerator QUASAR_IRQ_PRIORITY_NONE = 0xFFFF
Disable interrupt.
-
enumerator QUASAR_IRQ_PRIORITY_0 = 0
Functions
-
void quasar_it_set_exti0_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI0 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti1_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI1 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti2_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI2 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti3_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI3 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti4_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI4 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti5_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI5 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti6_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI6 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti7_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI7 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti8_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI8 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti9_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI9 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti10_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI10 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti11_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI11 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti12_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI12 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti13_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI13 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_exti14_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI14 interrupt.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_rising_edge_exti15_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI15 rising edge interrupt.
Note
EXTI15 is used for both the falling and rising edges, which is why its configuration differs from the other EXTI lines.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_falling_edge_exti15_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the EXTI15 falling edge interrupt.
Note
EXTI15 is used for both the falling and rising edges, which is why its configuration differs from the other EXTI lines.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_pendsv_callback(void (*irq_callback)(void))
This function sets the function callback for the pendsv.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_usb_irq_callback(void (*irq_callback)(void))
This function sets the function callback for the USB IRQ.
- Parameters:
irq_callback – [in] External interrupt callback function pointer.
-
void quasar_it_set_timer1_callback(void (*irq_callback)(void))
Set Timer 1 interrupt callback.
- Parameters:
irq_callback – [in] Timer 1 callback.
-
void quasar_it_set_timer2_callback(void (*irq_callback)(void))
Set Timer 2 interrupt callback.
- Parameters:
irq_callback – [in] Timer 2 callback.
-
void quasar_it_set_timer3_callback(void (*irq_callback)(void))
Set Timer 3 interrupt callback.
- Parameters:
irq_callback – [in] Timer 3 callback.
-
void quasar_it_set_timer4_callback(void (*irq_callback)(void))
Set Timer 4 interrupt callback.
- Parameters:
irq_callback – [in] Timer 4 callback.
-
void quasar_it_set_timer5_callback(void (*irq_callback)(void))
Set Timer 5 interrupt callback.
- Parameters:
irq_callback – [in] Timer 5 callback.
-
void quasar_it_set_timer6_callback(void (*irq_callback)(void))
Set Timer 6 interrupt callback.
- Parameters:
irq_callback – [in] Timer 6 callback.
-
void quasar_it_set_timer7_callback(void (*irq_callback)(void))
Set Timer 7 interrupt callback.
- Parameters:
irq_callback – [in] Timer 7 callback.
-
void quasar_it_set_timer8_callback(void (*irq_callback)(void))
Set Timer 8 interrupt callback.
- Parameters:
irq_callback – [in] Timer 8 callback.
-
void quasar_it_set_timer15_callback(void (*irq_callback)(void))
Set Timer 15 interrupt callback.
- Parameters:
irq_callback – [in] Timer 15 callback.
-
void quasar_it_set_timer16_callback(void (*irq_callback)(void))
Set Timer 16 interrupt callback.
- Parameters:
irq_callback – [in] Timer 16 callback.
-
void quasar_it_set_timer17_callback(void (*irq_callback)(void))
Set Timer 17 interrupt callback.
- Parameters:
irq_callback – [in] Timer 17 callback.
-
void quasar_it_enter_critical(void)
Enter a critical section by disabling interrupts.
Note
This function is used to ensure atomic operations by preventing interrupts from occurring. Always pair with “quasar_it_exit_critical”.
-
void quasar_it_exit_critical(void)
Exit a critical section by re-enabling interrupts.
Note
This function re-enables the interrupts after a critical section. It should always be used in pair with “quasar_it_enter_critical”.
-
void Error_Handler(void)
Error handling used by STM32 HAL.