pub type NVIC_ISER = Reg<NVIC_ISER_SPEC>;
Expand description
NVIC_ISER (rw) register accessor: Use the Interrupt Set-Enable Register to enable interrupts and determine which interrupts are currently enabled.
If a pending interrupt is enabled, the NVIC activates the interrupt based on its priority. If an interrupt is not enabled, asserting its interrupt signal changes the interrupt state to pending, but the NVIC never activates the interrupt, regardless of its priority.
You can read
this register and get nvic_iser::R
. You can reset
, write
, write_with_zero
this register using nvic_iser::W
. You can also modify
this register. See API.
For information about available fields see nvic_iser
module
Aliased Type§
struct NVIC_ISER { /* private fields */ }
Implementations
Source§impl<REG: Resettable + Writable> Reg<REG>
impl<REG: Resettable + Writable> Reg<REG>
Sourcepub fn reset(&self)
pub fn reset(&self)
Writes the reset value to Writable
register.
Resets the register to its initial state.
Sourcepub fn write<F>(&self, f: F)
pub fn write<F>(&self, f: F)
Writes bits to a Writable
register.
You can write raw bits into a register:
periph.reg.write(|w| unsafe { w.bits(rawbits) });
or write only the fields you need:
periph.reg.write(|w| w
.field1().bits(newfield1bits)
.field2().set_bit()
.field3().variant(VARIANT)
);
or an alternative way of saying the same:
periph.reg.write(|w| {
w.field1().bits(newfield1bits);
w.field2().set_bit();
w.field3().variant(VARIANT)
});
In the latter case, other fields will be set to their reset value.
Source§impl<REG: Readable + Writable> Reg<REG>
impl<REG: Readable + Writable> Reg<REG>
Sourcepub fn modify<F>(&self, f: F)
pub fn modify<F>(&self, f: F)
Modifies the contents of the register by reading and then writing it.
E.g. to do a read-modify-write sequence to change parts of a register:
periph.reg.modify(|r, w| unsafe { w.bits(
r.bits() | 3
) });
or
periph.reg.modify(|_, w| w
.field1().bits(newfield1bits)
.field2().set_bit()
.field3().variant(VARIANT)
);
or an alternative way of saying the same:
periph.reg.modify(|_, w| {
w.field1().bits(newfield1bits);
w.field2().set_bit();
w.field3().variant(VARIANT)
});
Other fields will have the value they had before the call to modify
.
Source§impl<REG: RegisterSpec> Reg<REG>
impl<REG: RegisterSpec> Reg<REG>
Source§impl<REG: Readable> Reg<REG>
impl<REG: Readable> Reg<REG>
Sourcepub fn read(&self) -> R<REG>
pub fn read(&self) -> R<REG>
Reads the contents of a Readable
register.
You can read the raw contents of a register by using bits
:
let bits = periph.reg.read().bits();
or get the content of a particular field of a register:
let reader = periph.reg.read();
let bits = reader.field1().bits();
let flag = reader.field2().bit_is_set();