embassy-stm32

Crates

git

Versions

stm32u083mc

Flavors

embassy_stm32::interrupt::typelevel

Trait Interrupt

Source
pub trait Interrupt: SealedInterrupt {
    const IRQ: Interrupt;

    // Provided methods
    unsafe fn enable() { ... }
    fn disable() { ... }
    fn is_enabled() -> bool { ... }
    fn is_pending() -> bool { ... }
    fn pend() { ... }
    fn unpend() { ... }
    fn get_priority() -> Priority { ... }
    fn set_priority(prio: Priority) { ... }
    fn set_priority_with_cs(cs: CriticalSection<'_>, prio: Priority) { ... }
}
Expand description

Type-level interrupt.

This trait is implemented for all typelevel interrupt types in this module.

Required Associated Constants§

Source

const IRQ: Interrupt

Interrupt enum variant.

This allows going from typelevel interrupts (one type per interrupt) to non-typelevel interrupts (a single Interrupt enum type, with one variant per interrupt).

Provided Methods§

Source

unsafe fn enable()

Enable the interrupt.

Source

fn disable()

Disable the interrupt.

Source

fn is_enabled() -> bool

Check if interrupt is enabled.

Source

fn is_pending() -> bool

Check if interrupt is pending.

Source

fn pend()

Set interrupt pending.

Source

fn unpend()

Unset interrupt pending.

Source

fn get_priority() -> Priority

Get the priority of the interrupt.

Source

fn set_priority(prio: Priority)

Set the interrupt priority.

Source

fn set_priority_with_cs(cs: CriticalSection<'_>, prio: Priority)

Set the interrupt priority with an already-acquired critical section

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Interrupt for ADC_COMP1_2

Source§

const IRQ: Interrupt = super::Interrupt::ADC_COMP1_2

Source§

impl Interrupt for DMA1_CH4_7_DMA2_CH1_5_DMAMUX_OVR

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CH4_7_DMA2_CH1_5_DMAMUX_OVR

Source§

impl Interrupt for DMA1_CHANNEL1

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL1

Source§

impl Interrupt for DMA1_CHANNEL2_3

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL2_3

Source§

impl Interrupt for EXTI0_1

Source§

const IRQ: Interrupt = super::Interrupt::EXTI0_1

Source§

impl Interrupt for EXTI2_3

Source§

const IRQ: Interrupt = super::Interrupt::EXTI2_3

Source§

impl Interrupt for EXTI4_15

Source§

const IRQ: Interrupt = super::Interrupt::EXTI4_15

Source§

impl Interrupt for FLASH_ECC

Source§

const IRQ: Interrupt = super::Interrupt::FLASH_ECC

Source§

impl Interrupt for I2C1

Source§

const IRQ: Interrupt = super::Interrupt::I2C1

Source§

impl Interrupt for I2C2_3_4

Source§

const IRQ: Interrupt = super::Interrupt::I2C2_3_4

Source§

impl Interrupt for LCD

Source§

const IRQ: Interrupt = super::Interrupt::LCD

Source§

impl Interrupt for PVD_PVM

Source§

const IRQ: Interrupt = super::Interrupt::PVD_PVM

Source§

impl Interrupt for RCC_CRS

Source§

const IRQ: Interrupt = super::Interrupt::RCC_CRS

Source§

impl Interrupt for RNG_CRYP

Source§

const IRQ: Interrupt = super::Interrupt::RNG_CRYP

Source§

impl Interrupt for RTC_TAMP

Source§

const IRQ: Interrupt = super::Interrupt::RTC_TAMP

Source§

impl Interrupt for SPI1

Source§

const IRQ: Interrupt = super::Interrupt::SPI1

Source§

impl Interrupt for SPI2_3

Source§

const IRQ: Interrupt = super::Interrupt::SPI2_3

Source§

impl Interrupt for TIM1_BRK_UP_TRG_COM

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_BRK_UP_TRG_COM

Source§

impl Interrupt for TIM1_CC

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_CC

Source§

impl Interrupt for TIM2

Source§

const IRQ: Interrupt = super::Interrupt::TIM2

Source§

impl Interrupt for TIM3

Source§

const IRQ: Interrupt = super::Interrupt::TIM3

Source§

impl Interrupt for TIM6_DAC_LPTIM1

Source§

const IRQ: Interrupt = super::Interrupt::TIM6_DAC_LPTIM1

Source§

impl Interrupt for TIM7_LPTIM2

Source§

const IRQ: Interrupt = super::Interrupt::TIM7_LPTIM2

Source§

impl Interrupt for TIM15_LPTIM3

Source§

const IRQ: Interrupt = super::Interrupt::TIM15_LPTIM3

Source§

impl Interrupt for TIM16

Source§

const IRQ: Interrupt = super::Interrupt::TIM16

Source§

impl Interrupt for TSC

Source§

const IRQ: Interrupt = super::Interrupt::TSC

Source§

impl Interrupt for USART1

Source§

const IRQ: Interrupt = super::Interrupt::USART1

Source§

impl Interrupt for USART2_LPUART2

Source§

const IRQ: Interrupt = super::Interrupt::USART2_LPUART2

Source§

impl Interrupt for USART3_LPUART1

Source§

const IRQ: Interrupt = super::Interrupt::USART3_LPUART1

Source§

impl Interrupt for USART4_LPUART3

Source§

const IRQ: Interrupt = super::Interrupt::USART4_LPUART3

Source§

impl Interrupt for USB_DRD_FS

Source§

const IRQ: Interrupt = super::Interrupt::USB_DRD_FS

Source§

impl Interrupt for WWDG_IWDG

Source§

const IRQ: Interrupt = super::Interrupt::WWDG_IWDG