Struct stm32_hal2::pac::fmc::sdbank::sdtr::W

source ·
pub struct W(/* private fields */);
Expand description

Register SDTR writer

Implementations§

source§

impl W

source

pub fn tmrd( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 0>

Bits 0:3 - Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. ….

source

pub fn txsr( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 4>

Bits 4:7 - Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. …. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device.

source

pub fn tras( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 8>

Bits 8:11 - Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. ….

source

pub fn trc( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 12>

Bits 12:15 - Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. …. Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are dont care.

source

pub fn twr( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 16>

Bits 16:19 - Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. …. Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device.

source

pub fn trp( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 20>

Bits 20:23 - Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. …. Note: The corresponding bits in the FMC_SDTR2 register are dont care.

source

pub fn trcd( &mut self ) -> FieldWriterRaw<'_, u32, SDTR_SPEC, u8, u8, Unsafe, 4, 24>

Bits 24:27 - Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. ….

source

pub unsafe fn bits(&mut self, bits: u32) -> &mut W

Writes raw bits to the register.

Methods from Deref<Target = W<SDTR_SPEC>>§

source

pub unsafe fn bits(&mut self, bits: <REG as RegisterSpec>::Ux) -> &mut W<REG>

Writes raw bits to the register.

Trait Implementations§

source§

impl Deref for W

§

type Target = W<SDTR_SPEC>

The resulting type after dereferencing.
source§

fn deref(&self) -> &<W as Deref>::Target

Dereferences the value.
source§

impl DerefMut for W

source§

fn deref_mut(&mut self) -> &mut <W as Deref>::Target

Mutably dereferences the value.
source§

impl From<W<SDTR_SPEC>> for W

source§

fn from(writer: W<SDTR_SPEC>) -> W

Converts to this type from the input type.

Auto Trait Implementations§

§

impl RefUnwindSafe for W

§

impl Send for W

§

impl Sync for W

§

impl Unpin for W

§

impl UnwindSafe for W

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.