embassy-stm32

Crates

git

Versions

stm32h745zg-cm7

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 ADC3

Source§

const IRQ: Interrupt = super::Interrupt::ADC3

Source§

impl Interrupt for ADC

Source§

const IRQ: Interrupt = super::Interrupt::ADC

Source§

impl Interrupt for BDMA_CHANNEL0

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL0

Source§

impl Interrupt for BDMA_CHANNEL1

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL1

Source§

impl Interrupt for BDMA_CHANNEL2

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL2

Source§

impl Interrupt for BDMA_CHANNEL3

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL3

Source§

impl Interrupt for BDMA_CHANNEL4

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL4

Source§

impl Interrupt for BDMA_CHANNEL5

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL5

Source§

impl Interrupt for BDMA_CHANNEL6

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL6

Source§

impl Interrupt for BDMA_CHANNEL7

Source§

const IRQ: Interrupt = super::Interrupt::BDMA_CHANNEL7

Source§

impl Interrupt for CEC

Source§

const IRQ: Interrupt = super::Interrupt::CEC

Source§

impl Interrupt for CM4_SEV

Source§

const IRQ: Interrupt = super::Interrupt::CM4_SEV

Source§

impl Interrupt for CM7_SEV

Source§

const IRQ: Interrupt = super::Interrupt::CM7_SEV

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 DCMI

Source§

const IRQ: Interrupt = super::Interrupt::DCMI

Source§

impl Interrupt for DFSDM1_FLT0

Source§

const IRQ: Interrupt = super::Interrupt::DFSDM1_FLT0

Source§

impl Interrupt for DFSDM1_FLT1

Source§

const IRQ: Interrupt = super::Interrupt::DFSDM1_FLT1

Source§

impl Interrupt for DFSDM1_FLT2

Source§

const IRQ: Interrupt = super::Interrupt::DFSDM1_FLT2

Source§

impl Interrupt for DFSDM1_FLT3

Source§

const IRQ: Interrupt = super::Interrupt::DFSDM1_FLT3

Source§

impl Interrupt for DMA1_STREAM0

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM0

Source§

impl Interrupt for DMA1_STREAM1

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM1

Source§

impl Interrupt for DMA1_STREAM2

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM2

Source§

impl Interrupt for DMA1_STREAM3

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM3

Source§

impl Interrupt for DMA1_STREAM4

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM4

Source§

impl Interrupt for DMA1_STREAM5

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM5

Source§

impl Interrupt for DMA1_STREAM6

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM6

Source§

impl Interrupt for DMA1_STREAM7

Source§

const IRQ: Interrupt = super::Interrupt::DMA1_STREAM7

Source§

impl Interrupt for DMA2D

Source§

const IRQ: Interrupt = super::Interrupt::DMA2D

Source§

impl Interrupt for DMA2_STREAM0

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM0

Source§

impl Interrupt for DMA2_STREAM1

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM1

Source§

impl Interrupt for DMA2_STREAM2

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM2

Source§

impl Interrupt for DMA2_STREAM3

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM3

Source§

impl Interrupt for DMA2_STREAM4

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM4

Source§

impl Interrupt for DMA2_STREAM5

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM5

Source§

impl Interrupt for DMA2_STREAM6

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM6

Source§

impl Interrupt for DMA2_STREAM7

Source§

const IRQ: Interrupt = super::Interrupt::DMA2_STREAM7

Source§

impl Interrupt for DMAMUX1_OVR

Source§

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

Source§

impl Interrupt for DMAMUX2_OVR

Source§

const IRQ: Interrupt = super::Interrupt::DMAMUX2_OVR

Source§

impl Interrupt for ECC

Source§

const IRQ: Interrupt = super::Interrupt::ECC

Source§

impl Interrupt for ETH

Source§

const IRQ: Interrupt = super::Interrupt::ETH

Source§

impl Interrupt for ETH_WKUP

Source§

const IRQ: Interrupt = super::Interrupt::ETH_WKUP

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 FDCAN1_IT0

Source§

const IRQ: Interrupt = super::Interrupt::FDCAN1_IT0

Source§

impl Interrupt for FDCAN1_IT1

Source§

const IRQ: Interrupt = super::Interrupt::FDCAN1_IT1

Source§

impl Interrupt for FDCAN2_IT0

Source§

const IRQ: Interrupt = super::Interrupt::FDCAN2_IT0

Source§

impl Interrupt for FDCAN2_IT1

Source§

const IRQ: Interrupt = super::Interrupt::FDCAN2_IT1

Source§

impl Interrupt for FDCAN_CAL

Source§

const IRQ: Interrupt = super::Interrupt::FDCAN_CAL

Source§

impl Interrupt for FLASH

Source§

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

Source§

impl Interrupt for FMC

Source§

const IRQ: Interrupt = super::Interrupt::FMC

Source§

impl Interrupt for FPU

Source§

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

Source§

impl Interrupt for HOLD_CORE

Source§

const IRQ: Interrupt = super::Interrupt::HOLD_CORE

Source§

impl Interrupt for HRTIM1_FLT

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_FLT

Source§

impl Interrupt for HRTIM1_MASTER

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_MASTER

Source§

impl Interrupt for HRTIM1_TIMA

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_TIMA

Source§

impl Interrupt for HRTIM1_TIMB

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_TIMB

Source§

impl Interrupt for HRTIM1_TIMC

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_TIMC

Source§

impl Interrupt for HRTIM1_TIMD

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_TIMD

Source§

impl Interrupt for HRTIM1_TIME

Source§

const IRQ: Interrupt = super::Interrupt::HRTIM1_TIME

Source§

impl Interrupt for HSEM1

Source§

const IRQ: Interrupt = super::Interrupt::HSEM1

Source§

impl Interrupt for HSEM2

Source§

const IRQ: Interrupt = super::Interrupt::HSEM2

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 I2C2_ER

Source§

const IRQ: Interrupt = super::Interrupt::I2C2_ER

Source§

impl Interrupt for I2C2_EV

Source§

const IRQ: Interrupt = super::Interrupt::I2C2_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 I2C4_ER

Source§

const IRQ: Interrupt = super::Interrupt::I2C4_ER

Source§

impl Interrupt for I2C4_EV

Source§

const IRQ: Interrupt = super::Interrupt::I2C4_EV

Source§

impl Interrupt for JPEG

Source§

const IRQ: Interrupt = super::Interrupt::JPEG

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 LPTIM4

Source§

const IRQ: Interrupt = super::Interrupt::LPTIM4

Source§

impl Interrupt for LPTIM5

Source§

const IRQ: Interrupt = super::Interrupt::LPTIM5

Source§

impl Interrupt for LPUART1

Source§

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

Source§

impl Interrupt for LTDC

Source§

const IRQ: Interrupt = super::Interrupt::LTDC

Source§

impl Interrupt for LTDC_ER

Source§

const IRQ: Interrupt = super::Interrupt::LTDC_ER

Source§

impl Interrupt for MDIOS

Source§

const IRQ: Interrupt = super::Interrupt::MDIOS

Source§

impl Interrupt for MDIOS_WKUP

Source§

const IRQ: Interrupt = super::Interrupt::MDIOS_WKUP

Source§

impl Interrupt for MDMA

Source§

const IRQ: Interrupt = super::Interrupt::MDMA

Source§

impl Interrupt for OTG_FS

Source§

const IRQ: Interrupt = super::Interrupt::OTG_FS

Source§

impl Interrupt for OTG_FS_EP1_IN

Source§

const IRQ: Interrupt = super::Interrupt::OTG_FS_EP1_IN

Source§

impl Interrupt for OTG_FS_EP1_OUT

Source§

const IRQ: Interrupt = super::Interrupt::OTG_FS_EP1_OUT

Source§

impl Interrupt for OTG_FS_WKUP

Source§

const IRQ: Interrupt = super::Interrupt::OTG_FS_WKUP

Source§

impl Interrupt for OTG_HS

Source§

const IRQ: Interrupt = super::Interrupt::OTG_HS

Source§

impl Interrupt for OTG_HS_EP1_IN

Source§

const IRQ: Interrupt = super::Interrupt::OTG_HS_EP1_IN

Source§

impl Interrupt for OTG_HS_EP1_OUT

Source§

const IRQ: Interrupt = super::Interrupt::OTG_HS_EP1_OUT

Source§

impl Interrupt for OTG_HS_WKUP

Source§

const IRQ: Interrupt = super::Interrupt::OTG_HS_WKUP

Source§

impl Interrupt for PVD_AVD

Source§

const IRQ: Interrupt = super::Interrupt::PVD_AVD

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 SAI2

Source§

const IRQ: Interrupt = super::Interrupt::SAI2

Source§

impl Interrupt for SAI3

Source§

const IRQ: Interrupt = super::Interrupt::SAI3

Source§

impl Interrupt for SAI4

Source§

const IRQ: Interrupt = super::Interrupt::SAI4

Source§

impl Interrupt for SDMMC1

Source§

const IRQ: Interrupt = super::Interrupt::SDMMC1

Source§

impl Interrupt for SDMMC2

Source§

const IRQ: Interrupt = super::Interrupt::SDMMC2

Source§

impl Interrupt for SPDIF_RX

Source§

const IRQ: Interrupt = super::Interrupt::SPDIF_RX

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 SPI3

Source§

const IRQ: Interrupt = super::Interrupt::SPI3

Source§

impl Interrupt for SPI4

Source§

const IRQ: Interrupt = super::Interrupt::SPI4

Source§

impl Interrupt for SPI5

Source§

const IRQ: Interrupt = super::Interrupt::SPI5

Source§

impl Interrupt for SPI6

Source§

const IRQ: Interrupt = super::Interrupt::SPI6

Source§

impl Interrupt for SWPMI1

Source§

const IRQ: Interrupt = super::Interrupt::SWPMI1

Source§

impl Interrupt for TAMP_STAMP

Source§

const IRQ: Interrupt = super::Interrupt::TAMP_STAMP

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

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_TRG_COM

Source§

impl Interrupt for TIM1_UP

Source§

const IRQ: Interrupt = super::Interrupt::TIM1_UP

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 TIM4

Source§

const IRQ: Interrupt = super::Interrupt::TIM4

Source§

impl Interrupt for TIM5

Source§

const IRQ: Interrupt = super::Interrupt::TIM5

Source§

impl Interrupt for TIM6_DAC

Source§

const IRQ: Interrupt = super::Interrupt::TIM6_DAC

Source§

impl Interrupt for TIM7

Source§

const IRQ: Interrupt = super::Interrupt::TIM7

Source§

impl Interrupt for TIM8_BRK_TIM12

Source§

const IRQ: Interrupt = super::Interrupt::TIM8_BRK_TIM12

Source§

impl Interrupt for TIM8_CC

Source§

const IRQ: Interrupt = super::Interrupt::TIM8_CC

Source§

impl Interrupt for TIM8_TRG_COM_TIM14

Source§

const IRQ: Interrupt = super::Interrupt::TIM8_TRG_COM_TIM14

Source§

impl Interrupt for TIM8_UP_TIM13

Source§

const IRQ: Interrupt = super::Interrupt::TIM8_UP_TIM13

Source§

impl Interrupt for TIM15

Source§

const IRQ: Interrupt = super::Interrupt::TIM15

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 UART4

Source§

const IRQ: Interrupt = super::Interrupt::UART4

Source§

impl Interrupt for UART5

Source§

const IRQ: Interrupt = super::Interrupt::UART5

Source§

impl Interrupt for UART7

Source§

const IRQ: Interrupt = super::Interrupt::UART7

Source§

impl Interrupt for UART8

Source§

const IRQ: Interrupt = super::Interrupt::UART8

Source§

impl Interrupt for USART1

Source§

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

Source§

impl Interrupt for USART2

Source§

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

Source§

impl Interrupt for USART3

Source§

const IRQ: Interrupt = super::Interrupt::USART3

Source§

impl Interrupt for USART6

Source§

const IRQ: Interrupt = super::Interrupt::USART6

Source§

impl Interrupt for WAKEUP_PIN

Source§

const IRQ: Interrupt = super::Interrupt::WAKEUP_PIN

Source§

impl Interrupt for WWDG

Source§

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

Source§

impl Interrupt for WWDG_RST

Source§

const IRQ: Interrupt = super::Interrupt::WWDG_RST