embassy-stm32

Crates

git

Versions

stm32g071kb

Flavors

embassy_stm32::interrupt::typelevel

Trait Interrupt

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Interrupt for ADC1_COMP

source§

const IRQ: Interrupt = super::Interrupt::ADC1_COMP

source§

impl Interrupt for CEC

source§

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

source§

impl Interrupt for DMA1_CH4_7_DMAMUX1_OVR

source§

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

source§

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

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 PVD

source§

const IRQ: Interrupt = super::Interrupt::PVD

source§

impl Interrupt for RCC

source§

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

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

source§

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

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 TIM14

source§

const IRQ: Interrupt = super::Interrupt::TIM14

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 UCPD1_2

source§

const IRQ: Interrupt = super::Interrupt::UCPD1_2

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_4_LPUART1

source§

const IRQ: Interrupt = super::Interrupt::USART3_4_LPUART1

source§

impl Interrupt for WWDG

source§

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