Skip to main content

Interrupt

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".

Implementors§

Source§

impl Interrupt for ADC_COMP

Source§

const IRQ: Interrupt = super::Interrupt::ADC_COMP

Source§

impl Interrupt for CAN

Source§

const IRQ: Interrupt = super::Interrupt::CAN

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 DMA1_CHANNEL4_5_6_7

Source§

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

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 LCD

Source§

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

Source§

impl Interrupt for PVD

Source§

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

Source§

impl Interrupt for RCC_CTC

Source§

const IRQ: Interrupt = super::Interrupt::RCC_CTC

Source§

impl Interrupt for RTC

Source§

const IRQ: Interrupt = super::Interrupt::RTC

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 TIM2

Source§

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

Source§

impl Interrupt for TIM3

Source§

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

Source§

impl Interrupt for TIM7

Source§

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

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 TIM6_LPTIM1_DAC

Source§

const IRQ: Interrupt = super::Interrupt::TIM6_LPTIM1_DAC

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 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

Source§

const IRQ: Interrupt = super::Interrupt::USART3_4

Source§

impl Interrupt for USB

Source§

const IRQ: Interrupt = super::Interrupt::USB

Source§

impl Interrupt for WWDG

Source§

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