embassy-stm32

Crates

git

Versions

stm32wl54cc-cm0p

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_COMP_DAC

Source§

const IRQ: Interrupt = super::Interrupt::ADC_COMP_DAC

Source§

impl Interrupt for AES_PKA

Source§

const IRQ: Interrupt = super::Interrupt::AES_PKA

Source§

impl Interrupt for DMA1_CHANNEL1_2_3

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL1_2_3

Source§

impl Interrupt for DMA1_CHANNEL4_5_6_7

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_CHANNEL4_5_6_7

Source§

impl Interrupt for DMA2_DMAMUX1_OVR

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_DMAMUX1_OVR

Source§

impl Interrupt for EXTI1_0

Source§

const IRQ: Interrupt = super::Interrupt::EXTI1_0

Source§

impl Interrupt for EXTI3_2

Source§

const IRQ: Interrupt = super::Interrupt::EXTI3_2

Source§

impl Interrupt for EXTI15_4

Source§

const IRQ: Interrupt = super::Interrupt::EXTI15_4

Source§

impl Interrupt for HSEM

Source§

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

Source§

impl Interrupt for I2C1

Source§

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

Source§

impl Interrupt for I2C2

Source§

const IRQ: Interrupt = super::Interrupt::I2C2

Source§

impl Interrupt for I2C3

Source§

const IRQ: Interrupt = super::Interrupt::I2C3

Source§

impl Interrupt for IPCC_C2_RX_C2_TX

Source§

const IRQ: Interrupt = super::Interrupt::IPCC_C2_RX_C2_TX

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 LPTIM3

Source§

const IRQ: Interrupt = super::Interrupt::LPTIM3

Source§

impl Interrupt for LPUART1

Source§

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

Source§

impl Interrupt for PVD_PVM

Source§

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

Source§

impl Interrupt for RCC_FLASH_C1SEV

Source§

const IRQ: Interrupt = super::Interrupt::RCC_FLASH_C1SEV

Source§

impl Interrupt for RNG

Source§

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

Source§

impl Interrupt for RTC_LSECSS

Source§

const IRQ: Interrupt = super::Interrupt::RTC_LSECSS

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 SUBGHZSPI

Source§

const IRQ: Interrupt = super::Interrupt::SUBGHZSPI

Source§

impl Interrupt for SUBGHZ_RADIO

Source§

const IRQ: Interrupt = super::Interrupt::SUBGHZ_RADIO

Source§

impl Interrupt for TIM1

Source§

const IRQ: Interrupt = super::Interrupt::TIM1

Source§

impl Interrupt for TIM2

Source§

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

Source§

impl Interrupt for TIM16

Source§

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

Source§

impl Interrupt for TIM17

Source§

const IRQ: Interrupt = super::Interrupt::TIM17

Source§

impl Interrupt for TZIC_ILA

Source§

const IRQ: Interrupt = super::Interrupt::TZIC_ILA

Source§

impl Interrupt for USART1

Source§

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

Source§

impl Interrupt for USART2

Source§

const IRQ: Interrupt = super::Interrupt::USART2