pub struct Pm { /* private fields */ }
Expand description
Блок управления питанием и тактированием
Implementations§
Source§impl Pm
impl Pm
Sourcepub const PTR: *const RegisterBlock = {0x50000 as *const pm::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x50000 as *const pm::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn div_ahb(&self) -> &DivAhb
pub fn div_ahb(&self) -> &DivAhb
0x00 - Задает значение делителя шины AHB. Частота шины AHB (FAHB) рассчитывается, как FSYS/( DIV_AHB+1)
Sourcepub fn div_apb_m(&self) -> &DivApbM
pub fn div_apb_m(&self) -> &DivApbM
0x04 - Задает значение делителя шины APB_M. Частота шины APB_M (FAPM_M) рассчитывается, как FAPB/( Div_APM_M+1)
Sourcepub fn div_apb_p(&self) -> &DivApbP
pub fn div_apb_p(&self) -> &DivApbP
0x08 - Задает значение делителя шины APB_P. Частота шины APB_P (FAPM_P) рассчитывается, как FAPB/( Div_APM_P+1)
Sourcepub fn clk_ahb_set(&self) -> &ClkAhbSet
pub fn clk_ahb_set(&self) -> &ClkAhbSet
0x0c - Регистр включения тактированием устройств на шине AHB
Sourcepub fn clk_ahb_clear(&self) -> &ClkAhbClear
pub fn clk_ahb_clear(&self) -> &ClkAhbClear
0x10 - Регистр выключения тактированием устройств на шине AHB. Каждому биту соответствует устройство, аналогично CLK_AHB_SET
Sourcepub fn clk_apb_m_set(&self) -> &ClkApbMSet
pub fn clk_apb_m_set(&self) -> &ClkApbMSet
0x14 - Регистр включения тактированием устройств на шине APB_M. Каждому биту соответствует устройство
Sourcepub fn clk_apb_m_clear(&self) -> &ClkApbMClear
pub fn clk_apb_m_clear(&self) -> &ClkApbMClear
0x18 - Регистр выключения тактированием устройств на шине APB_M. Каждому биту соответствует устройство, аналогично Clk_APB_M_Set
Sourcepub fn clk_apb_p_set(&self) -> &ClkApbPSet
pub fn clk_apb_p_set(&self) -> &ClkApbPSet
0x1c - Регистр включения тактированием устройств на шине APB_P. Каждому биту соответствует одно устройство
Sourcepub fn clk_apb_p_clear(&self) -> &ClkApbPClear
pub fn clk_apb_p_clear(&self) -> &ClkApbPClear
0x20 - Регистр выключения тактированием устройств на шине APB_P. Каждому биту соответствует устройство, аналогично CLK_APB_P_SET
Sourcepub fn wdt_clk_mux(&self) -> &WdtClkMux
pub fn wdt_clk_mux(&self) -> &WdtClkMux
0x28 - Выбор источника тактирования сторожевого таймера: 0 – внешний OSC32M; 1 – внутренний HSI32M; 2 – внешний OSC32K; 3 – внутренний LSI32К;
Sourcepub fn cpu_rtc_clk_mux(&self) -> &CpuRtcClkMux
pub fn cpu_rtc_clk_mux(&self) -> &CpuRtcClkMux
0x2c - Выбор источника тактирования RTC для системного таймера в составе ядра
Sourcepub fn freq_status(&self) -> &FreqStatus
pub fn freq_status(&self) -> &FreqStatus
0x38 - Статус монитора частоты
Sourcepub fn sleep_mode(&self) -> &SleepMode
pub fn sleep_mode(&self) -> &SleepMode
0x3c - Переход в спящий режим осуществляется записью в данный регистр. При записи отключается тактирование ядра. В зависимости от записываемого значения отключается тактирование модулей