rp2040_pac/ppb/
syst_calib.rs

1#[doc = "Register `SYST_CALIB` reader"]
2pub type R = crate::R<SYST_CALIB_SPEC>;
3#[doc = "Field `TENMS` reader - An optional Reload value to be used for 10ms (100Hz) timing, subject to system clock skew errors. If the value reads as 0, the calibration value is not known."]
4pub type TENMS_R = crate::FieldReader<u32>;
5#[doc = "Field `SKEW` reader - If reads as 1, the calibration value for 10ms is inexact (due to clock frequency)."]
6pub type SKEW_R = crate::BitReader;
7#[doc = "Field `NOREF` reader - If reads as 1, the Reference clock is not provided - the CLKSOURCE bit of the SysTick Control and Status register will be forced to 1 and cannot be cleared to 0."]
8pub type NOREF_R = crate::BitReader;
9impl R {
10    #[doc = "Bits 0:23 - An optional Reload value to be used for 10ms (100Hz) timing, subject to system clock skew errors. If the value reads as 0, the calibration value is not known."]
11    #[inline(always)]
12    pub fn tenms(&self) -> TENMS_R {
13        TENMS_R::new(self.bits & 0x00ff_ffff)
14    }
15    #[doc = "Bit 30 - If reads as 1, the calibration value for 10ms is inexact (due to clock frequency)."]
16    #[inline(always)]
17    pub fn skew(&self) -> SKEW_R {
18        SKEW_R::new(((self.bits >> 30) & 1) != 0)
19    }
20    #[doc = "Bit 31 - If reads as 1, the Reference clock is not provided - the CLKSOURCE bit of the SysTick Control and Status register will be forced to 1 and cannot be cleared to 0."]
21    #[inline(always)]
22    pub fn noref(&self) -> NOREF_R {
23        NOREF_R::new(((self.bits >> 31) & 1) != 0)
24    }
25}
26#[doc = "Use the SysTick Calibration Value Register to enable software to scale to any required speed using divide and multiply.  
27
28You can [`read`](crate::generic::Reg::read) this register and get [`syst_calib::R`](R).  See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
29pub struct SYST_CALIB_SPEC;
30impl crate::RegisterSpec for SYST_CALIB_SPEC {
31    type Ux = u32;
32}
33#[doc = "`read()` method returns [`syst_calib::R`](R) reader structure"]
34impl crate::Readable for SYST_CALIB_SPEC {}
35#[doc = "`reset()` method sets SYST_CALIB to value 0"]
36impl crate::Resettable for SYST_CALIB_SPEC {
37    const RESET_VALUE: u32 = 0;
38}