rtic/2/api/rp2040_pac/struct.PPB.html

58 lines
45 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="PPB"><title>PPB in rp2040_pac - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="rp2040_pac" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0 (f6e511eec 2024-10-15)" data-channel="1.82.0" data-search-js="search-a99f1315e7cc5121.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-921df33f47b8780c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../rp2040_pac/index.html">rp2040_<wbr>pac</a><span class="version">0.6.0</span></h2></div><h2 class="location"><a href="#">PPB</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.PTR">PTR</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.ptr">ptr</a></li><li><a href="#method.steal">steal</a></li></ul><h3><a href="#deref-methods-RegisterBlock">Methods from Deref&lt;<wbr>Target=<wbr>Register<wbr>Block&gt;</a></h3><ul class="block deref-methods"><li><a href="#method.aircr">aircr</a></li><li><a href="#method.ccr">ccr</a></li><li><a href="#method.cpuid">cpuid</a></li><li><a href="#method.icsr">icsr</a></li><li><a href="#method.mpu_ctrl">mpu_ctrl</a></li><li><a href="#method.mpu_rasr">mpu_rasr</a></li><li><a href="#method.mpu_rbar">mpu_rbar</a></li><li><a href="#method.mpu_rnr">mpu_rnr</a></li><li><a href="#method.mpu_type">mpu_type</a></li><li><a href="#method.nvic_icer">nvic_icer</a></li><li><a href="#method.nvic_icpr">nvic_icpr</a></li><li><a href="#method.nvic_ipr0">nvic_ipr0</a></li><li><a href="#method.nvic_ipr1">nvic_ipr1</a></li><li><a href="#method.nvic_ipr2">nvic_ipr2</a></li><li><a href="#method.nvic_ipr3">nvic_ipr3</a></li><li><a href="#method.nvic_ipr4">nvic_ipr4</a></li><li><a href="#method.nvic_ipr5">nvic_ipr5</a></li><li><a href="#method.nvic_ipr6">nvic_ipr6</a></li><li><a href="#method.nvic_ipr7">nvic_ipr7</a></li><li><a href="#method.nvic_iser">nvic_iser</a></li><li><a href="#method.nvic_ispr">nvic_ispr</a></li><li><a href="#method.scr">scr</a></li><li><a href="#method.shcsr">shcsr</a></li><li><a href="#method.shpr2">shpr2</a></li><li><a href="#method.shpr3">shpr3</a></li><li><a href="#method.syst_calib">syst_calib</a></li><li><a href="#method.syst_csr">syst_csr</a></li><li><a href="#method.syst_cvr">syst_cvr</a></li><li><a href="#method.syst_rvr">syst_rvr</a></li><li><a href="#method.vtor">vtor</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-i
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-PPB" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2191-2217">source</a><a href="#impl-PPB" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.PPB.html" title="struct rp2040_pac::PPB">PPB</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.PTR" class="associatedconstant"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2193">source</a><h4 class="code-header">pub const <a href="#associatedconstant.PTR" class="constant">PTR</a>: <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.pointer.html">*const </a><a class="struct" href="ppb/struct.RegisterBlock.html" title="struct rp2040_pac::ppb::RegisterBlock">RegisterBlock</a> = {0xe0000000 as *const ppb::RegisterBlock}</h4></section></summary><div class="docblock"><p>Pointer to the register block</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ptr" class="method"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2196-2198">source</a><h4 class="code-header">pub const fn <a href="#method.ptr" class="fn">ptr</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.pointer.html">*const </a><a class="struct" href="ppb/struct.RegisterBlock.html" title="struct rp2040_pac::ppb::RegisterBlock">RegisterBlock</a></h4></section></summary><div class="docblock"><p>Return the pointer to the register block</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.steal" class="method"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2212-2216">source</a><h4 class="code-header">pub unsafe fn <a href="#method.steal" class="fn">steal</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Steal an instance of this peripheral</p>
<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
<p>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.</p>
<p>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.</p>
</div></details></div></details></div><h2 id="deref-methods-RegisterBlock" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = <a class="struct" href="ppb/struct.RegisterBlock.html" title="struct rp2040_pac::ppb::RegisterBlock">RegisterBlock</a>&gt;</span><a href="#deref-methods-RegisterBlock" class="anchor">§</a></h2><div id="deref-methods-RegisterBlock-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.syst_csr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#47-49">source</a><h4 class="code-header">pub fn <a href="#method.syst_csr" class="fn">syst_csr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SYST_CSR.html" title="type rp2040_pac::ppb::SYST_CSR">SYST_CSR</a></h4></section></summary><div class="docblock"><p>0xe010 - Use the SysTick Control and Status Register to enable the SysTick features.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.syst_rvr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#53-55">source</a><h4 class="code-header">pub fn <a href="#method.syst_rvr" class="fn">syst_rvr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SYST_RVR.html" title="type rp2040_pac::ppb::SYST_RVR">SYST_RVR</a></h4></section></summary><div class="docblock"><p>0xe014 - Use the SysTick Reload Value Register to specify the start value to load into the current value register when the counter reaches 0. It can be any value between 0 and 0x00FFFFFF. A start value of 0 is possible, but has no effect because the SysTick interrupt and COUNTFLAG are activated when counting from 1 to 0. The reset value of this register is UNKNOWN.<br />
To generate a multi-shot timer with a period of N processor clock cycles, use a RELOAD value of N-1. For example, if the SysTick interrupt is required every 100 clock pulses, set RELOAD to 99.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.syst_cvr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#58-60">source</a><h4 class="code-header">pub fn <a href="#method.syst_cvr" class="fn">syst_cvr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SYST_CVR.html" title="type rp2040_pac::ppb::SYST_CVR">SYST_CVR</a></h4></section></summary><div class="docblock"><p>0xe018 - Use the SysTick Current Value Register to find the current value in the register. The reset value of this register is UNKNOWN.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.syst_calib" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#63-65">source</a><h4 class="code-header">pub fn <a href="#method.syst_calib" class="fn">syst_calib</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SYST_CALIB.html" title="type rp2040_pac::ppb::SYST_CALIB">SYST_CALIB</a></h4></section></summary><div class="docblock"><p>0xe01c - Use the SysTick Calibration Value Register to enable software to scale to any required speed using divide and multiply.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_iser" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#69-71">source</a><h4 class="code-header">pub fn <a href="#method.nvic_iser" class="fn">nvic_iser</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_ISER.html" title="type rp2040_pac::ppb::NVIC_ISER">NVIC_ISER</a></h4></section></summary><div class="docblock"><p>0xe100 - Use the Interrupt Set-Enable Register to enable interrupts and determine which interrupts are currently enabled.<br />
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.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_icer" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#74-76">source</a><h4 class="code-header">pub fn <a href="#method.nvic_icer" class="fn">nvic_icer</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_ICER.html" title="type rp2040_pac::ppb::NVIC_ICER">NVIC_ICER</a></h4></section></summary><div class="docblock"><p>0xe180 - Use the Interrupt Clear-Enable Registers to disable interrupts and determine which interrupts are currently enabled.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ispr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#79-81">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ispr" class="fn">nvic_ispr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_ISPR.html" title="type rp2040_pac::ppb::NVIC_ISPR">NVIC_ISPR</a></h4></section></summary><div class="docblock"><p>0xe200 - The NVIC_ISPR forces interrupts into the pending state, and shows which interrupts are pending.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_icpr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#84-86">source</a><h4 class="code-header">pub fn <a href="#method.nvic_icpr" class="fn">nvic_icpr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_ICPR.html" title="type rp2040_pac::ppb::NVIC_ICPR">NVIC_ICPR</a></h4></section></summary><div class="docblock"><p>0xe280 - Use the Interrupt Clear-Pending Register to clear pending interrupts and determine which interrupts are currently pending.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr0" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#91-93">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr0" class="fn">nvic_ipr0</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR0.html" title="type rp2040_pac::ppb::NVIC_IPR0">NVIC_IPR0</a></h4></section></summary><div class="docblock"><p>0xe400 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.<br />
Note: Writing 1 to an NVIC_ICPR bit does not affect the active state of the corresponding interrupt.<br />
These registers are only word-accessible</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr1" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#96-98">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr1" class="fn">nvic_ipr1</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR1.html" title="type rp2040_pac::ppb::NVIC_IPR1">NVIC_IPR1</a></h4></section></summary><div class="docblock"><p>0xe404 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr2" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#101-103">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr2" class="fn">nvic_ipr2</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR2.html" title="type rp2040_pac::ppb::NVIC_IPR2">NVIC_IPR2</a></h4></section></summary><div class="docblock"><p>0xe408 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr3" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#106-108">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr3" class="fn">nvic_ipr3</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR3.html" title="type rp2040_pac::ppb::NVIC_IPR3">NVIC_IPR3</a></h4></section></summary><div class="docblock"><p>0xe40c - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr4" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#111-113">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr4" class="fn">nvic_ipr4</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR4.html" title="type rp2040_pac::ppb::NVIC_IPR4">NVIC_IPR4</a></h4></section></summary><div class="docblock"><p>0xe410 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr5" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#116-118">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr5" class="fn">nvic_ipr5</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR5.html" title="type rp2040_pac::ppb::NVIC_IPR5">NVIC_IPR5</a></h4></section></summary><div class="docblock"><p>0xe414 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr6" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#121-123">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr6" class="fn">nvic_ipr6</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR6.html" title="type rp2040_pac::ppb::NVIC_IPR6">NVIC_IPR6</a></h4></section></summary><div class="docblock"><p>0xe418 - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.nvic_ipr7" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#126-128">source</a><h4 class="code-header">pub fn <a href="#method.nvic_ipr7" class="fn">nvic_ipr7</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.NVIC_IPR7.html" title="type rp2040_pac::ppb::NVIC_IPR7">NVIC_IPR7</a></h4></section></summary><div class="docblock"><p>0xe41c - Use the Interrupt Priority Registers to assign a priority from 0 to 3 to each of the available interrupts. 0 is the highest priority, and 3 is the lowest.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.cpuid" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#131-133">source</a><h4 class="code-header">pub fn <a href="#method.cpuid" class="fn">cpuid</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.CPUID.html" title="type rp2040_pac::ppb::CPUID">CPUID</a></h4></section></summary><div class="docblock"><p>0xed00 - Read the CPU ID Base Register to determine: the ID number of the processor core, the version number of the processor core, the implementation details of the processor core.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.icsr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#136-138">source</a><h4 class="code-header">pub fn <a href="#method.icsr" class="fn">icsr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.ICSR.html" title="type rp2040_pac::ppb::ICSR">ICSR</a></h4></section></summary><div class="docblock"><p>0xed04 - Use the Interrupt Control State Register to set a pending Non-Maskable Interrupt (NMI), set or clear a pending PendSV, set or clear a pending SysTick, check for pending exceptions, check the vector number of the highest priority pended exception, check the vector number of the active exception.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.vtor" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#141-143">source</a><h4 class="code-header">pub fn <a href="#method.vtor" class="fn">vtor</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.VTOR.html" title="type rp2040_pac::ppb::VTOR">VTOR</a></h4></section></summary><div class="docblock"><p>0xed08 - The VTOR holds the vector table offset address.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.aircr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#146-148">source</a><h4 class="code-header">pub fn <a href="#method.aircr" class="fn">aircr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.AIRCR.html" title="type rp2040_pac::ppb::AIRCR">AIRCR</a></h4></section></summary><div class="docblock"><p>0xed0c - Use the Application Interrupt and Reset Control Register to: determine data endianness, clear all active state information from debug halt mode, request a system reset.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.scr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#151-153">source</a><h4 class="code-header">pub fn <a href="#method.scr" class="fn">scr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SCR.html" title="type rp2040_pac::ppb::SCR">SCR</a></h4></section></summary><div class="docblock"><p>0xed10 - System Control Register. Use the System Control Register for power-management functions: signal to the system when the processor can enter a low power state, control how the processor enters and exits low power states.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.ccr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#156-158">source</a><h4 class="code-header">pub fn <a href="#method.ccr" class="fn">ccr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.CCR.html" title="type rp2040_pac::ppb::CCR">CCR</a></h4></section></summary><div class="docblock"><p>0xed14 - The Configuration and Control Register permanently enables stack alignment and causes unaligned accesses to result in a Hard Fault.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.shpr2" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#161-163">source</a><h4 class="code-header">pub fn <a href="#method.shpr2" class="fn">shpr2</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SHPR2.html" title="type rp2040_pac::ppb::SHPR2">SHPR2</a></h4></section></summary><div class="docblock"><p>0xed1c - System handlers are a special class of exception handler that can have their priority set to any of the priority levels. Use the System Handler Priority Register 2 to set the priority of SVCall.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.shpr3" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#166-168">source</a><h4 class="code-header">pub fn <a href="#method.shpr3" class="fn">shpr3</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SHPR3.html" title="type rp2040_pac::ppb::SHPR3">SHPR3</a></h4></section></summary><div class="docblock"><p>0xed20 - System handlers are a special class of exception handler that can have their priority set to any of the priority levels. Use the System Handler Priority Register 3 to set the priority of PendSV and SysTick.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.shcsr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#171-173">source</a><h4 class="code-header">pub fn <a href="#method.shcsr" class="fn">shcsr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.SHCSR.html" title="type rp2040_pac::ppb::SHCSR">SHCSR</a></h4></section></summary><div class="docblock"><p>0xed24 - Use the System Handler Control and State Register to determine or clear the pending status of SVCall.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mpu_type" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#176-178">source</a><h4 class="code-header">pub fn <a href="#method.mpu_type" class="fn">mpu_type</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.MPU_TYPE.html" title="type rp2040_pac::ppb::MPU_TYPE">MPU_TYPE</a></h4></section></summary><div class="docblock"><p>0xed90 - Read the MPU Type Register to determine if the processor implements an MPU, and how many regions the MPU supports.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mpu_ctrl" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#181-183">source</a><h4 class="code-header">pub fn <a href="#method.mpu_ctrl" class="fn">mpu_ctrl</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.MPU_CTRL.html" title="type rp2040_pac::ppb::MPU_CTRL">MPU_CTRL</a></h4></section></summary><div class="docblock"><p>0xed94 - Use the MPU Control Register to enable and disable the MPU, and to control whether the default memory map is enabled as a background region for privileged accesses, and whether the MPU is enabled for HardFaults and NMIs.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mpu_rnr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#186-188">source</a><h4 class="code-header">pub fn <a href="#method.mpu_rnr" class="fn">mpu_rnr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.MPU_RNR.html" title="type rp2040_pac::ppb::MPU_RNR">MPU_RNR</a></h4></section></summary><div class="docblock"><p>0xed98 - Use the MPU Region Number Register to select the region currently accessed by MPU_RBAR and MPU_RASR.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mpu_rbar" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#191-193">source</a><h4 class="code-header">pub fn <a href="#method.mpu_rbar" class="fn">mpu_rbar</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.MPU_RBAR.html" title="type rp2040_pac::ppb::MPU_RBAR">MPU_RBAR</a></h4></section></summary><div class="docblock"><p>0xed9c - Read the MPU Region Base Address Register to determine the base address of the region identified by MPU_RNR. Write to update the base address of said region or that of a specified region, with whose number MPU_RNR will also be updated.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mpu_rasr" class="method"><a class="src rightside" href="../src/rp2040_pac/ppb.rs.html#196-198">source</a><h4 class="code-header">pub fn <a href="#method.mpu_rasr" class="fn">mpu_rasr</a>(&amp;self) -&gt; &amp;<a class="type" href="ppb/type.MPU_RASR.html" title="type rp2040_pac::ppb::MPU_RASR">MPU_RASR</a></h4></section></summary><div class="docblock"><p>0xeda0 - Use the MPU Region Attribute and Size Register to define the size, access behaviour and memory type of the region identified by MPU_RNR, and enable that region.</p>
</div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-PPB" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2225-2229">source</a><a href="#impl-Debug-for-PPB" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.PPB.html" title="struct rp2040_pac::PPB">PPB</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2226-2228">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.82.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.82.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.82.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-PPB" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2218-2224">source</a><a href="#impl-Deref-for-PPB" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.PPB.html" title="struct rp2040_pac::PPB">PPB</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2219">source</a><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="ppb/struct.RegisterBlock.html" title="struct rp2040_pac::ppb::RegisterBlock">RegisterBlock</a></h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2221-2223">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><section id="impl-Send-for-PPB" class="impl"><a class="src rightside" href="../src/rp2040_pac/lib.rs.html#2190">source</a><a href="#impl-Send-for-PPB" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PPB.html" title="struct rp2040_pac::PPB">PPB</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-PPB" class="impl"><a hr
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.82.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.82.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.82.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.82.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.82.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.82.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.82.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.82.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>