embassy-stm32

Crates

git

Versions

stm32wb55cc

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 ADC1

Source§

const IRQ: Interrupt = super::Interrupt::ADC1

Source§

impl Interrupt for AES1

Source§

const IRQ: Interrupt = super::Interrupt::AES1

Source§

impl Interrupt for AES2

Source§

const IRQ: Interrupt = super::Interrupt::AES2

Source§

impl Interrupt for C2SEV_PWR_C2H

Source§

const IRQ: Interrupt = super::Interrupt::C2SEV_PWR_C2H

Source§

impl Interrupt for COMP

Source§

const IRQ: Interrupt = super::Interrupt::COMP

Source§

impl Interrupt for CRS

Source§

const IRQ: Interrupt = super::Interrupt::CRS

Source§

impl Interrupt for DMA1_CHANNEL1

Source§

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

Source§

impl Interrupt for DMA1_CHANNEL2

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL2

Source§

impl Interrupt for DMA1_CHANNEL3

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL3

Source§

impl Interrupt for DMA1_CHANNEL4

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL4

Source§

impl Interrupt for DMA1_CHANNEL5

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL5

Source§

impl Interrupt for DMA1_CHANNEL6

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL6

Source§

impl Interrupt for DMA1_CHANNEL7

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL7

Source§

impl Interrupt for DMA2_CHANNEL1

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL1

Source§

impl Interrupt for DMA2_CHANNEL2

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL2

Source§

impl Interrupt for DMA2_CHANNEL3

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL3

Source§

impl Interrupt for DMA2_CHANNEL4

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL4

Source§

impl Interrupt for DMA2_CHANNEL5

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL5

Source§

impl Interrupt for DMA2_CHANNEL6

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL6

Source§

impl Interrupt for DMA2_CHANNEL7

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_CHANNEL7

Source§

impl Interrupt for DMAMUX1_OVR

Source§

const IRQ: Interrupt = super::Interrupt::DMAMUX1_OVR

Source§

impl Interrupt for EXTI0

Source§

const IRQ: Interrupt = super::Interrupt::EXTI0

Source§

impl Interrupt for EXTI1

Source§

const IRQ: Interrupt = super::Interrupt::EXTI1

Source§

impl Interrupt for EXTI2

Source§

const IRQ: Interrupt = super::Interrupt::EXTI2

Source§

impl Interrupt for EXTI3

Source§

const IRQ: Interrupt = super::Interrupt::EXTI3

Source§

impl Interrupt for EXTI4

Source§

const IRQ: Interrupt = super::Interrupt::EXTI4

Source§

impl Interrupt for EXTI9_5

Source§

const IRQ: Interrupt = super::Interrupt::EXTI9_5

Source§

impl Interrupt for EXTI15_10

Source§

const IRQ: Interrupt = super::Interrupt::EXTI15_10

Source§

impl Interrupt for FLASH

Source§

const IRQ: Interrupt = super::Interrupt::FLASH

Source§

impl Interrupt for FPU

Source§

const IRQ: Interrupt = super::Interrupt::FPU

Source§

impl Interrupt for HSEM

Source§

const IRQ: Interrupt = super::Interrupt::HSEM

Source§

impl Interrupt for I2C1_ER

Source§

const IRQ: Interrupt = super::Interrupt::I2C1_ER

Source§

impl Interrupt for I2C1_EV

Source§

const IRQ: Interrupt = super::Interrupt::I2C1_EV

Source§

impl Interrupt for I2C3_ER

Source§

const IRQ: Interrupt = super::Interrupt::I2C3_ER

Source§

impl Interrupt for I2C3_EV

Source§

const IRQ: Interrupt = super::Interrupt::I2C3_EV

Source§

impl Interrupt for IPCC_C1_RX

Source§

const IRQ: Interrupt = super::Interrupt::IPCC_C1_RX

Source§

impl Interrupt for IPCC_C1_TX

Source§

const IRQ: Interrupt = super::Interrupt::IPCC_C1_TX

Source§

impl Interrupt for LCD

Source§

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

Source§

impl Interrupt for LPTIM1

Source§

const IRQ: Interrupt = super::Interrupt::LPTIM1

Source§

impl Interrupt for LPTIM2

Source§

const IRQ: Interrupt = super::Interrupt::LPTIM2

Source§

impl Interrupt for LPUART1

Source§

const IRQ: Interrupt = super::Interrupt::LPUART1

Source§

impl Interrupt for PKA

Source§

const IRQ: Interrupt = super::Interrupt::PKA

Source§

impl Interrupt for PVD_PVM

Source§

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

Source§

impl Interrupt for PWR_SOTF_BLEACT_802ACT_RFPHASE

Source§

const IRQ: Interrupt = super::Interrupt::PWR_SOTF_BLEACT_802ACT_RFPHASE

Source§

impl Interrupt for QUADSPI

Source§

const IRQ: Interrupt = super::Interrupt::QUADSPI

Source§

impl Interrupt for RCC

Source§

const IRQ: Interrupt = super::Interrupt::RCC

Source§

impl Interrupt for RNG

Source§

const IRQ: Interrupt = super::Interrupt::RNG

Source§

impl Interrupt for RTC_ALARM

Source§

const IRQ: Interrupt = super::Interrupt::RTC_ALARM

Source§

impl Interrupt for RTC_WKUP

Source§

const IRQ: Interrupt = super::Interrupt::RTC_WKUP

Source§

impl Interrupt for SAI1

Source§

const IRQ: Interrupt = super::Interrupt::SAI1

Source§

impl Interrupt for SPI1

Source§

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

Source§

impl Interrupt for SPI2

Source§

const IRQ: Interrupt = super::Interrupt::SPI2

Source§

impl Interrupt for TAMP_STAMP_LSECSS

Source§

const IRQ: Interrupt = super::Interrupt::TAMP_STAMP_LSECSS

Source§

impl Interrupt for TIM1_BRK

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_BRK

Source§

impl Interrupt for TIM1_CC

Source§

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

Source§

impl Interrupt for TIM1_TRG_COM_TIM17

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_TRG_COM_TIM17

Source§

impl Interrupt for TIM1_UP_TIM16

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_UP_TIM16

Source§

impl Interrupt for TIM2

Source§

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

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 USB_HP

Source§

const IRQ: Interrupt = super::Interrupt::USB_HP

Source§

impl Interrupt for USB_LP

Source§

const IRQ: Interrupt = super::Interrupt::USB_LP

Source§

impl Interrupt for WWDG

Source§

const IRQ: Interrupt = super::Interrupt::WWDG